- UID
- 13110
注册时间2006-5-14
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
发表于 2007-5-12 15:11:01
|
显示全部楼层
完美注册机!
开始漏了第5-8位注册码的算法
补上:
::00401B50:: 33C0 XOR EAX, EAX
::00401B52:: 0FBE5404 14 MOVSX EDX, BYTE PTR [ESP+EAX+14] \:BYJMP JmpBy:00401B81,
::00401B57:: 0FBE4C04 15 MOVSX ECX, BYTE PTR [ESP+EAX+15]
::00401B5C:: 83F1 28 XOR ECX, 28
::00401B5F:: 83F2 28 XOR EDX, 28
::00401B62:: 03D1 ADD EDX, ECX
::00401B64:: 0FBE4C04 17 MOVSX ECX, BYTE PTR [ESP+EAX+17]
::00401B69:: 83F1 28 XOR ECX, 28
::00401B6C:: 03D1 ADD EDX, ECX
::00401B6E:: 0FBE4C04 16 MOVSX ECX, BYTE PTR [ESP+EAX+16]
::00401B73:: 83F1 28 XOR ECX, 28
::00401B76:: 03CF ADD ECX, EDI
::00401B78:: 83C0 04 ADD EAX, 4
::00401B7B:: 83F8 10 CMP EAX, 10
::00401B7E:: 8D3C11 LEA EDI, DWORD PTR [ECX+EDX]
::00401B81:: 7C CF JL SHORT 00401B52 \:JMPUP
用户名:johnroot
注册码:2939091570609084
注册机DELPHI代码:
procedure TForm1.Button1Click(Sender: TObject);
var
nameok,pp,gg,gg2,mm,mm2:pchar;
i,j,j2,k:integer;
begin
getmem(nameok,$10);
ZeroMemory(nameok,$10);
getmem(mm,5);
ZeroMemory(mm,5);
getmem(mm2,5);
ZeroMemory(mm2,5);
pp:=pchar(edit1.Text);
for i:=0 to (length(pp)-1) do
begin
nameok[i]:=pp[i];
end;
j:=0;
for i:=0 to $f do
begin
k:=ord(nameok[i]) xor $82;
j:=j + k;
end;
gg := pchar(inttostr(j));
j:=0;
for i:=0 to $f do
begin
k:=ord(nameok[i]) xor $28;
j2:=j2 + k;
end;
gg2 := pchar(inttostr(j2));
if length(gg2)<4 then
begin
gg2:=pchar('0' + string(gg2));
end;
for i:=0 to 3 do
begin
mm[i]:= char($69 - ord(gg[i]));
end;
for i:=0 to 3 do
begin
mm2[i]:= char($69 - ord(gg2[i]));
end;
edit2.text:=string(gg) + string(gg2) + string(mm) + string(mm2);
end;
[[i] 本帖最后由 johnroot 于 2007-5-12 15:15 编辑 [/i]] |
|