- UID
 - 1468
 
 注册时间2005-5-8
阅读权限10
最后登录1970-1-1
周游历练 
  
 
 
 
该用户从未签到  
 | 
 
****************************  0047AD81  CALL Assistan.004776A4 ********************** 
 
004776A4   /$  55           PUSH EBP 
004776A5   |.  8BEC         MOV EBP,ESP 
004776A7   |.  6A 00        PUSH 0 
004776A9   |.  6A 00        PUSH 0 
004776AB   |.  6A 00        PUSH 0 
004776AD   |.  53           PUSH EBX 
004776AE   |.  56           PUSH ESI 
004776AF   |.  8BF2         MOV ESI,EDX 
004776B1   |.  8945 FC      MOV DWORD PTR SS:[EBP-4],EAX 
004776B4   |.  8B45 FC      MOV EAX,DWORD PTR SS:[EBP-4] 
004776B7   |.  E8 20CEF8FF  CALL Assistan.004044DC 
004776BC   |.  33C0         XOR EAX,EAX 
004776BE   |.  55           PUSH EBP 
004776BF   |.  68 5E774700  PUSH Assistan.0047775E 
004776C4   |.  64:FF30      PUSH DWORD PTR FS:[EAX] 
004776C7   |.  64:8920      MOV DWORD PTR FS:[EAX],ESP 
004776CA   |.  33DB         XOR EBX,EBX 
004776CC   |.  8B45 FC      MOV EAX,DWORD PTR SS:[EBP-4] 
004776CF   |.  E8 18CCF8FF  CALL Assistan.004042EC 
004776D4   |.  8BD0         MOV EDX,EAX 
004776D6   |.  85D2         TEST EDX,EDX 
004776D8   |.  76 1C        JBE SHORT Assistan.004776F6 
004776DA   |.  B8 01000000  MOV EAX,1 
004776DF   |>  8B4D FC      /MOV ECX,DWORD PTR SS:[EBP-4]        〈----第一次运算 
004776E2   |.  0FB64C01 FF  |MOVZX ECX,BYTE PTR DS:[ECX+EAX-1] 
004776E7   |.  03D9         |ADD EBX,ECX 
004776E9   |.  8BCB         |MOV ECX,EBX 
004776EB   |.  03C9         |ADD ECX,ECX 
004776ED   |.  8D0C89       |LEA ECX,DWORD PTR DS:[ECX+ECX*4] 
004776F0   |.  8BD9         |MOV EBX,ECX 
004776F2   |.  40           |INC EAX 
004776F3   |.  4A           |DEC EDX 
004776F4   |.^ 75 E9        \JNZ SHORT Assistan.004776DF 
004776F6   |>  8BC3         MOV EAX,EBX 
004776F8   |.  33D2         XOR EDX,EDX 
004776FA   |.  52           PUSH EDX                                                          ; /Arg2 => 00000000 
004776FB   |.  50           PUSH EAX                                                         ; |Arg1 
004776FC   |.  8D45 F8      LEA EAX,DWORD PTR SS:[EBP-8]                                      ; | 
004776FF   |.  E8 D809F9FF  CALL Assistan.004080DC            〈--------转化为十进制数  ; \Assistan.004080DC 
00477704   |.  33DB         XOR EBX,EBX 
00477706   |.  8B45 F8      MOV EAX,DWORD PTR SS:[EBP-8] 
00477709   |.  E8 DECBF8FF  CALL Assistan.004042EC 
0047770E   |.  83F8 01      CMP EAX,1 
00477711   |.  72 18        JB SHORT Assistan.0047772B 
00477713   |>  8B55 F8      /MOV EDX,DWORD PTR SS:[EBP-8]        〈----第二次运算 
00477716   |.  0FB65402 FF  |MOVZX EDX,BYTE PTR DS:[EDX+EAX-1] 
0047771B   |.  03DA         |ADD EBX,EDX 
0047771D   |.  8BD3         |MOV EDX,EBX 
0047771F   |.  03D2         |ADD EDX,EDX 
00477721   |.  8D1492       |LEA EDX,DWORD PTR DS:[EDX+EDX*4] 
00477724   |.  8BDA         |MOV EBX,EDX 
00477726   |.  48           |DEC EAX 
00477727   |.  85C0         |TEST EAX,EAX 
00477729   |.^ 75 E8        \JNZ SHORT Assistan.00477713 
0047772B   |>  8BC3         MOV EAX,EBX 
0047772D   |.  33D2         XOR EDX,EDX 
0047772F   |.  52           PUSH EDX                                                          ; /Arg2 => 00000000 
00477730   |.  50           PUSH EAX                                                          ; |Arg1 
00477731   |.  8D45 F4      LEA EAX,DWORD PTR SS:[EBP-C]                                      ; | 
00477734   |.  E8 A309F9FF  CALL Assistan.004080DC            〈--------转化为十进制数  ; \Assistan.004080DC 
00477739   |.  8B45 F4      MOV EAX,DWORD PTR SS:[EBP-C] 
0047773C   |.  8BD6         MOV EDX,ESI 
0047773E   |.  E8 AD07F9FF  CALL Assistan.00407EF0 
00477743   |.  33C0         XOR EAX,EAX 
00477745   |.  5A           POP EDX 
00477746   |.  59           POP ECX 
00477747   |.  59           POP ECX 
00477748   |.  64:8910      MOV DWORD PTR FS:[EAX],EDX 
0047774B   |.  68 65774700  PUSH Assistan.00477765 
00477750   |>  8D45 F4      LEA EAX,DWORD PTR SS:[EBP-C] 
00477753   |.  BA 03000000  MOV EDX,3 
00477758   |.  E8 F3C8F8FF  CALL Assistan.00404050 
0047775D   \.  C3           RETN 
 
算法总结:先取得机器码的十六进制ACSII码,按公式计算出一个十六进制数 A ,把 A 转化为十进制数,得B ;取得 B 的十六进制ACSII码, 按公式再算出一个值C,把 C 转化为十进制数就是真正的注册码了。 
 
 公式:        设值 X,初始值为 0 
                        [(机器码+X)*2]+[(机器码+X)*2]*4,值再赋给 X 
         循环计算完。 
 
比如:我的机器码:     1  0  7  2  5  0  1  5  3  2 
        十六进制ACSII码:31 30 37 32 35 30 31 35 33 32 
 
第一次运算得:AC679438        ------〉十进制数:2892469304 
 
2  8  9  2  4  6  9  3  0  4 
32 38 39 32 34 36 39 33 30 34 
 
第二次运算得:94F56F1C        ------〉十进制数:2499112732 ----〉注册码啦!! 
 
表达能力不好,凑合着看吧! |   
 
 
 
 |