进入算法CALL:
* Referenced by a CALL at Addresses:
|:00401DF0 , :00402062
|
:00402100 8B442404 mov eax, dword ptr [esp+04]
====>EAX=[esp+04]=00EDDDB0 标识码
:00402104 353B1FB903 xor eax, 03B91F3B
====>EAX=00EDDDB0 XOR 03B91F3B=0354C28B
:00402109 0542DCC300 add eax, 00C3DC42
====>EAX=0354C28B + 00C3DC42=04189ECD
呵呵,04189ECD的10进制值68722381就是我的注册码了!
:0040210E 7905 jns 00402115
====>跳过去
:00402110 99 cdq
:00402111 33C2 xor eax, edx
:00402113 2BC2 sub eax, edx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040210E(C)
|
:00402115 C20400 ret 0004
—————————————————————————————————
【C++ KeyGen】:
呵呵,算法非常简单。就用我这“超级蹩脚”的C++做 fly 的第七个算法注册机吧!诸位老师见笑了!
#include<iostream.h>
#include<math.h>
void main()
{
unsigned long int k;
cout<<"\n ★★★★XDos V1.0.322 KeyGen{7th}★★★★\n\n\n\n";
cout<<"请输入标识号:";
cin >>k;
k^=0X03B91F3B;
k+=0X00C3DC42;
cout<<"\n呵呵,注册码:"<<k<<endl;
cout<<"\n\n\nCracked By 巢水工作坊——fly [OCN][FCG] 2003-4-15 0:26 COMPILE";
cout<<"\n\n\n * * * 按回车退出!* * *";cin.get();cin.get();
}
—————————————————————————————————
【KeyMake之{58th}内存注册机】:
中断地址:00401DF5
中断次数:1
第一字节:3B
指令长度:2
寄存器方式:EAX
十进制
—————————————————————————————————
【注册信息保存】:
同文件夹下的xdos.ini中:
[Settings]
RKey=68722381
—————————————————————————————————
【整 理】:
标识码:15588784
注册码:68722381
—————————————————————————————————
Cracked By 巢水工作坊——fly [OCN][FCG]
2003-4-15 0:14