- UID
- 57126
注册时间2008-11-1
阅读权限8
最后登录1970-1-1
初入江湖
该用户从未签到
|
0047F638 55 push ebp
0047F639 8BEC mov ebp,esp
0047F63B 83C4 E4 add esp,-1C
0047F63E 53 push ebx
0047F63F 33C9 xor ecx,ecx
0047F641 894D E4 mov dword ptr ss:[ebp-1C],ecx
0047F644 894D E8 mov dword ptr ss:[ebp-18],ecx
0047F647 894D EC mov dword ptr ss:[ebp-14],ecx
0047F64A 8BD8 mov ebx,eax
0047F64C 33C0 xor eax,eax
0047F64E 55 push ebp
0047F64F 68 02F74700 push Delphi.0047F702
0047F654 64:FF30 push dword ptr fs:[eax]
0047F657 64:8920 mov dword ptr fs:[eax],esp
0047F65A 8D55 EC lea edx,dword ptr ss:[ebp-14]
0047F65D 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0047F663 E8 EC53FBFF call Delphi.00434A54
0047F668 837D EC 00 cmp dword ptr ss:[ebp-14],0 ; 计算假码的长度
0047F66C 74 79 je short Delphi.0047F6E7 ; 没输入注册码就跳
0047F66E 8D55 E8 lea edx,dword ptr ss:[ebp-18]
0047F671 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0047F677 E8 D853FBFF call Delphi.00434A54
0047F67C 8B45 E8 mov eax,dword ptr ss:[ebp-18] ; 假码
0047F67F E8 A89EF8FF call Delphi.0040952C
0047F684 DD5D F8 fstp qword ptr ss:[ebp-8]
0047F687 9B wait
0047F688 DD45 F8 fld qword ptr ss:[ebp-8] ; 把假码转浮点型
0047F68B D805 10F74700 fadd dword ptr ds:[47F710] ; 把假码加 51042.00
0047F691 DD5D F8 fstp qword ptr ss:[ebp-8] ; 123456.0000000000+51042.00=174498.00000000000000
0047F694 9B wait
0047F695 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
0047F698 8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
0047F69E E8 B153FBFF call Delphi.00434A54
0047F6A3 8B45 E4 mov eax,dword ptr ss:[ebp-1C] ; 读机器码 ASCII "95517768"
0047F6A6 E8 819EF8FF call Delphi.0040952C
0047F6AB DD5D F0 fstp qword ptr ss:[ebp-10] ; 把机器码转浮点型
0047F6AE 9B wait
0047F6AF DD45 F0 fld qword ptr ss:[ebp-10]
0047F6B2 D805 14F74700 fadd dword ptr ds:[47F714] ; 把机器码加 20417.00
0047F6B8 DD5D F0 fstp qword ptr ss:[ebp-10] ; 结果为 95538185.000000000000
0047F6BB 9B wait
0047F6BC DD45 F8 fld qword ptr ss:[ebp-8] ; 读取加后的假码 174498.000000000000
0047F6BF DC4D F0 fmul qword ptr ss:[ebp-10] ; 请问这里是相乘吗? 把174498.00000000000000*95538185.00000000????
0047F6C2 DB2D 18F74700 fld tbyte ptr ds:[47F718] ; 这里出现的是真的注册码浮点行 1.9860317891198000000e+14
0047F6C8 DED9 fcompp ; 请问这里是 1.9860317891198000000e+14 和1.6671222206130000000e+13比较吗?
0047F6CA DFE0 fstsw ax
0047F6CC 9E sahf
0047F6CD 75 18 jnz short Delphi.0047F6E7 ; 这里是关键跳,跳了就错误.这里可以爆破.
0047F6CF 6A 00 push 0
0047F6D1 B9 24F74700 mov ecx,Delphi.0047F724
0047F6D6 BA 2CF74700 mov edx,Delphi.0047F72C
0047F6DB A1 F8124800 mov eax,dword ptr ds:[4812F8]
0047F6E0 8B00 mov eax,dword ptr ds:[eax]
0047F6E2 E8 394EFDFF call Delphi.00454520
0047F6E7 33C0 xor eax,eax
0047F6E9 5A pop edx
0047F6EA 59 pop ecx
0047F6EB 59 pop ecx
0047F6EC 64:8910 mov dword ptr fs:[eax],edx
0047F6EF 68 09F74700 push Delphi.0047F709
0047F6F4 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0047F6F7 BA 03000000 mov edx,3
0047F6FC E8 D347F8FF call Delphi.00403ED4
0047F701 C3 retn
请问下注册码怎么算?
本人菜鸟一只,请高手指点!!
[ 本帖最后由 黑狼人 于 2009-5-25 16:27 编辑 ] |
|