能力值:
( LV2,RANK:10 )
|
-
-
2 楼
lai kan kan
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
//第一次尝试着写KeyGen
//程序写的不够简洁,一方面是为了与程序反汇编的结果相近,另一方面是太久没用C++了
//大侠看了别笑话
//其中的不足还望多多指教
#include <iostream.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char ID[12];//="ID674224765";
cout <<"你的识别码是:";
cin >>ID;
ID[11]=1;//对应 004B9FE7 MOV EDX,hhflash.004BA0D0 多了个1
char XORKey[]="Qwert yuiop asdfg hjkl zxcvbnm";
char ChooseKey[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
char RegCode[31];
RegCode[31]=0;
int IDLen=12; //ID的长度
int SI=ID[0];
int EBP_8=SI * 0x64;
int EBP_A=SI<<9;
for(int BL=1;BL<0x1F;BL++)//
{
int AL=ID[BL % IDLen];
int DL=SI>>8 & 0xFF;
AL=AL ^ DL;
AL=AL^ XORKey[BL-1];
AL+=IDLen;
AL=AL & 0xFF;//取低8位
AL =(AL % 0x3E)+1;
RegCode[BL-1]=ChooseKey[AL-1];
SI= (SI + RegCode[BL-1]) & 0xFFFF;//程序中是16位SI寄存器,取低16位
SI=(SI * EBP_8) & 0xFFFF;
SI=(SI+EBP_A) & 0xFFFF;
}
cout <<"你的注册码是:"<< RegCode << endl;
system("PAUSE");
return 0;
}
|
能力值:
( LV9,RANK:250 )
|
-
-
4 楼
正好送给你玩一下 呵呵 http://bbs.pediy.com/showthread.php?t=100928
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
好多修改方法啊,感谢nisy前辈的指点,总感觉自己太浮躁,太重视结果,不肯认真分析,呵呵
|
|
|