- UID
 - 14190
 
 注册时间2006-5-26
阅读权限10
最后登录1970-1-1
周游历练 
  
 
 
 
该用户从未签到  
 | 
 
软件简介:算命不求人2004 
下载地址:华军软件 
软件简介:略 
编译语言:delphi 
作者:crack1946 
 
004B9FE5   .  E8 C655F9FF   call    0044F5B0                         ;  取你输入的注册码 
004B9FEA   .  837D E4 00    cmp     dword ptr [ebp-1C], 0            ;  是否为空 
004B9FEE   .  75 0F         jnz     short 004B9FFF 
004B9FF0   .  B8 78A14B00   mov     eax, 004BA178                    ;   您输入的注册码无效,请重新输入。 
004B9FF5   .  E8 1E82F7FF   call    00432218 
004B9FFA   .  E9 24010000   jmp     004BA123 
004B9FFF   >  8D55 E0       lea     edx, dword ptr [ebp-20] 
004BA002   .  8B83 08030000 mov     eax, dword ptr [ebx+308] 
004BA008   .  E8 A355F9FF   call    0044F5B0                         ;  取你的机器码 
004BA00D   .  8B45 E0       mov     eax, dword ptr [ebp-20]          ;eax=[ebp-20]=机器码 
004BA010   .  E8 E304F5FF   call    0040A4F8 
{ 
 0040A4F8  /$  53            push    ebx                             ;delphi的程序优先采用eax寄存器做参数 
 0040A4F9  |.  83C4 EC       add     esp, -14 
 0040A4FC  |.  8BD8          mov     ebx, eax 
 0040A4FE  |.  8BC3          mov     eax, ebx 
 0040A500  |.  E8 27A1FFFF   call    0040462C 
 0040A505  |.  8BD4          mov     edx, esp 
 0040A507  |.  33C9          xor     ecx, ecx 
 0040A509  |.  E8 56FDFFFF   call    0040A264 
 0040A50E  |.  84C0          test    al, al 
 0040A510  |.  75 19         jnz     short 0040A52B 
 0040A512  |.  895C24 0C     mov     dword ptr [esp+C], ebx 
 0040A516  |.  C64424 10 0B  mov     byte ptr [esp+10], 0B 
 0040A51B  |.  8D5424 0C     lea     edx, dword ptr [esp+C] 
 0040A51F  |.  A1 A84C4D00   mov     eax, dword ptr [4D4CA8] 
 0040A524  |.  33C9          xor     ecx, ecx 
 0040A526  |.  E8 B9DFFFFF   call    004084E4 
 0040A52B  |>  DB2C24        fld     tbyte ptr [esp]                  ;  主要是eax到st(0) 
 0040A52E  |.  83C4 14       add     esp, 14 
 0040A531  |.  5B            pop     ebx 
 0040A532  \.  C3            retn 
 
 
} 
004BA015   .  DD5D F8       fstp    qword ptr [ebp-8]                ;  st(0)-->[ebp-8],并出栈 
004BA018   .  9B            wait                                     ;现在[ebp-8]=机器码了 
004BA019   .  8D55 DC       lea     edx, dword ptr [ebp-24] 
004BA01C   .  8B83 FC020000 mov     eax, dword ptr [ebx+2FC] 
004BA022   .  E8 8955F9FF   call    0044F5B0 
004BA027   .  8B45 DC       mov     eax, dword ptr [ebp-24]          ;  我们输入的注册码到EAX 
004BA02A   .  E8 C904F5FF   call    0040A4F8                         ;这个call的作用同上 
004BA02F   .  DD5D F0       fstp    qword ptr [ebp-10]               ;  st(0)--->[ebp-10],并出栈 
004BA032   .  9B            wait                                     ;[EBP-10]=注册码 
004BA033   .  DD45 F8       fld     qword ptr [ebp-8]                ;  机器码--->st[0] 
004BA036   .  DC65 F0       fsub    qword ptr [ebp-10]               ;  st(0)=机器码-我们输入的注册码 
004BA039   .  DC1D 544B4D00 fcomp   qword ptr [4D4B54]               ;  将标志位设置为st(0)-2140190307的结果标志位 
004BA03F   .  DFE0          fstsw   ax                               ;  保存状态字到ax 
004BA041   .  9E            sahf                                     ;  将ah指定的标志位送到标志寄存器 
004BA042      74 35         je      short 004BA079                   ;  zf=1才跳的哦,关键跳,仅此一个,意思是只比较zf位 
004BA044   .  68 A4A14B00   push    004BA1A4                         ;   您输入的注册码 
004BA049   .  8D55 D4       lea     edx, dword ptr [ebp-2C] 
004BA04C   .  8B83 FC020000 mov     eax, dword ptr [ebx+2FC] 
004BA052   .  E8 5955F9FF   call    0044F5B0 
004BA057   .  FF75 D4       push    dword ptr [ebp-2C] 
004BA05A   .  68 C0A14B00   push    004BA1C0                         ;   不正确,请与作者联系。 
004BA05F   .  8D45 D8       lea     eax, dword ptr [ebp-28] 
004BA062   .  BA 03000000   mov     edx, 3 
004BA067   .  E8 80A4F4FF   call    004044EC 
004BA06C   .  8B45 D8       mov     eax, dword ptr [ebp-28] 
004BA06F   .  E8 A481F7FF   call    00432218 
004BA074   .  E9 AA000000   jmp     004BA123 
 
   
很简单,机器码-注册码-2140190307的结果要另标志位ZF=1,也就是结果等于0 
  那么,注册码=机器码-2140190307 
呵呵,就那么简单! |   
 
 
 
 |