- 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 ----〉注册码啦!!
表达能力不好,凑合着看吧! |
|