机器码:43525702
用OD查找出字符串为:信息不正确!和KuNgBiM讲解的那个不太一样!
0040AE24 > \68 084B4700 push 00474B08 ; |信息不正确!
堆栈 ss:[0012FD54]=07270E18, (ASCII "bc910e19a78275ff")
esi=0047C8D8 (NetManag.0047C8D8)这就是注册码信息!
0040ACA6 . E8 43AF0200 call 00435BEE ; 变量定义!?
0040ACAB . 83C4 0C add esp, 0C
0040ACAE . 8D55 E0 lea edx, [ebp-20]
0040ACB1 . 8D45 EC lea eax, [ebp-14]
0040ACB4 . 52 push edx
0040ACB5 . 56 push esi
0040ACB6 . 50 push eax
0040ACB7 . E8 26200300 call 0043CCE2 ; (43525702)机器码(2147483647)程序自算出的一段码!
0040ACBC . 50 push eax
0040ACBD . 8D4D E0 lea ecx, [ebp-20]
0040ACC0 . C645 FC 1C mov byte ptr [ebp-4], 1C
0040ACC4 . E8 231F0300 call 0043CBEC
0040ACC9 . 8D4D EC lea ecx, [ebp-14]
0040ACCC . 885D FC mov [ebp-4], bl
0040ACCF . E8 2B1E0300 call 0043CAFF
0040ACD4 . 8D4D E0 lea ecx, [ebp-20]
0040ACD7 . 8D55 EC lea edx, [ebp-14]
0040ACDA . 51 push ecx
0040ACDB . 52 push edx
0040ACDC . E8 DFD6FFFF call 004083C0
0040ACE1 . 83C4 08 add esp, 8
0040ACE4 . 50 push eax
0040ACE5 . 8D4D E4 lea ecx, [ebp-1C]
0040ACE8 . C645 FC 1D mov byte ptr [ebp-4], 1D
0040ACEC . E8 FB1E0300 call 0043CBEC ; 435257022147483647进行加密计算!?
0040ACF1 . 8D4D EC lea ecx, [ebp-14]
0040ACF4 . 885D FC mov [ebp-4], bl
0040ACF7 . E8 031E0300 call 0043CAFF ; 加密计算出:d83e77bc910e19a78275ffc5cc681076
0040ACFC . 6A 10 push 10
0040ACFE . 8D45 EC lea eax, [ebp-14]
0040AD01 . 6A 06 push 6
0040AD03 . 50 push eax
0040AD04 . 8D4D E4 lea ecx, [ebp-1C]
0040AD07 . E8 B0A90200 call 004356BC ; 取d83e77bc910e19a78275ffc5cc681076中间一段就为注册码!
0040AD0C . 50 push eax
0040AD0D . 8D4D E4 lea ecx, [ebp-1C]
0040AD10 . C645 FC 1E mov byte ptr [ebp-4], 1E
0040AD14 . E8 D31E0300 call 0043CBEC
0040AD19 . 8D4D EC lea ecx, [ebp-14]
0040AD1C . 885D FC mov [ebp-4], bl
0040AD1F . E8 DB1D0300 call 0043CAFF
0040AD24 . 8B75 E4 mov esi, [ebp-1C] ; 取正确的注册码!bc910e19a78275ff
0040AD27 . 8B85 7CFFFFFF mov eax, [ebp-84] ; 取错误的注册码!
0040AD2D > 8A10 mov dl, [eax] ; 循环注册码检查!
0040AD2F . 8A1E mov bl, [esi]
0040AD31 . 8ACA mov cl, dl
0040AD33 . 3AD3 cmp dl, bl
0040AD35 . 75 1E jnz short 0040AD55
0040AD37 . 84C9 test cl, cl
0040AD39 . 74 16 je short 0040AD51
0040AD3B . 8A50 01 mov dl, [eax+1]
0040AD3E . 8A5E 01 mov bl, [esi+1]
0040AD41 . 8ACA mov cl, dl
0040AD43 . 3AD3 cmp dl, bl
0040AD45 . 75 0E jnz short 0040AD55
0040AD47 . 83C0 02 add eax, 2
0040AD4A . 83C6 02 add esi, 2
0040AD4D . 84C9 test cl, cl
0040AD4F .^ 75 DC jnz short 0040AD2D
0040AD51 > 33C0 xor eax, eax
0040AD53 . EB 04 jmp short 0040AD59
0040AD55 > 1BC0 sbb eax, eax
0040AD57 . 1BC7 sbb eax, edi
0040AD59 > 85C0 test eax, eax
0040AD5B . 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
0040AD5D . 68 D0444700 push 004744D0 ; |提示
0040AD62 0F85 BC000000 jnz 0040AE24 ; |一跳就死!
0040AD68 68 88474700 push 00474788 ; |恭喜您!注册成功!
0040AD6D . 6A 00 push 0 ; |hOwner = NULL
0040AD6F . FF15 34F64500 call [<&USER32.MessageBoxA>] ; \MessageBoxA
我想向坛主再请教!我想知道这个程序的具体算法!想知道那几个CALL倒底是
干什么用的!为了对算法进一步了解!跪求坛主解释此程序算法!
请教!
请教!