00676CBC /. 55 push ebp
00676CBD |. 8BEC mov ebp, esp
00676CBF |. B9 0A000000 mov ecx, 0A
00676CC4 |> 6A 00 /push 0
00676CC6 |. 6A 00 |push 0
00676CC8 |. 49 |dec ecx
00676CC9 |.^ 75 F9 \jnz short 00676CC4
00676CCB |. 51 push ecx
00676CCC |. 53 push ebx
00676CCD |. 56 push esi
00676CCE |. 8BD8 mov ebx, eax
00676CD0 |. 33C0 xor eax, eax
00676CD2 |. 55 push ebp
00676CD3 |. 68 A66F6700 push 00676FA6
00676CD8 |. 64:FF30 push dword ptr fs:[eax]
00676CDB |. 64:8920 mov dword ptr fs:[eax], esp
00676CDE |. 8D55 F8 lea edx, dword ptr [ebp-8]
00676CE1 |. 8B83 FC020000 mov eax, dword ptr [ebx+2FC]
00676CE7 |. E8 500CE1FF call 0048793C ; 取出假码
00676CEC |. 8B45 F8 mov eax, dword ptr [ebp-8]
00676CEF |. 8D55 FC lea edx, dword ptr [ebp-4]
00676CF2 |. E8 7D2BD9FF call 00409874
00676CF7 |. 8D4D E0 lea ecx, dword ptr [ebp-20]
00676CFA |. BA 02000000 mov edx, 2
00676CFF |. 8B45 FC mov eax, dword ptr [ebp-4]
00676D02 |. E8 0DAEDCFF call 00441B14 ; 前两字符
00676D07 |. 8B45 E0 mov eax, dword ptr [ebp-20]
00676D0A |. 8D55 E4 lea edx, dword ptr [ebp-1C]
00676D0D |. E8 36FCFFFF call 00676948
00676D12 |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00676D15 |. 8D55 F4 lea edx, dword ptr [ebp-C]
00676D18 |. E8 9FFCFFFF call 006769BC ; Md5之
00676D1D |. 8B45 F4 mov eax, dword ptr [ebp-C]
00676D20 |. 50 push eax
00676D21 |. 8D55 E4 lea edx, dword ptr [ebp-1C]
00676D24 |. B8 BC6F6700 mov eax, 00676FBC ; 68
00676D29 |. E8 1AFCFFFF call 00676948 ; “68” 的MD5
00676D2E |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00676D31 |. 8D55 DC lea edx, dword ptr [ebp-24]
00676D34 |. E8 83FCFFFF call 006769BC
00676D39 |. 8B55 DC mov edx, dword ptr [ebp-24]
00676D3C |. 58 pop eax
00676D3D |. E8 1EE0D8FF call 00404D60 ; 前两字符的Md5和“68”的MD5比较
00676D42 |. 74 3F je short 00676D83 ; 不等跳死
00676D44 |. 6A 30 push 30
00676D46 |. 8D55 D8 lea edx, dword ptr [ebp-28]
00676D49 |. A1 94D16800 mov eax, dword ptr [68D194]
00676D4E |. 8B00 mov eax, dword ptr [eax]
00676D50 |. E8 5F1EE3FF call 004A8BB4
00676D55 |. 8B45 D8 mov eax, dword ptr [ebp-28]
00676D58 |. E8 B7E0D8FF call 00404E14
00676D5D |. 8BC8 mov ecx, eax
00676D5F |. BA C06F6700 mov edx, 00676FC0 ; 注册码有误
00676D64 |. A1 94D16800 mov eax, dword ptr [68D194]
00676D69 |. 8B00 mov eax, dword ptr [eax]
00676D6B |. E8 D024E3FF call 004A9240
00676D70 |. 8B83 FC020000 mov eax, dword ptr [ebx+2FC]
00676D76 |. 8B10 mov edx, dword ptr [eax]
00676D78 |. FF92 C4000000 call dword ptr [edx+C4]
00676D7E |. E9 DB010000 jmp 00676F5E
00676D83 |> 8B45 FC mov eax, dword ptr [ebp-4] ; 假码
00676D86 |. E8 89DED8FF call 00404C14
00676D8B |. 83F8 0A cmp eax, 0A ; 注册码长度10
00676D8E |. 74 3F je short 00676DCF ; 不等跳死
00676D90 |. 6A 30 push 30
00676D92 |. 8D55 D4 lea edx, dword ptr [ebp-2C]
00676D95 |. A1 94D16800 mov eax, dword ptr [68D194]
00676D9A |. 8B00 mov eax, dword ptr [eax]
00676D9C |. E8 131EE3FF call 004A8BB4
00676DA1 |. 8B45 D4 mov eax, dword ptr [ebp-2C]
00676DA4 |. E8 6BE0D8FF call 00404E14
00676DA9 |. 8BC8 mov ecx, eax
00676DAB |. BA C06F6700 mov edx, 00676FC0 ; 注册码有误
00676DB0 |. A1 94D16800 mov eax, dword ptr [68D194]
00676DB5 |. 8B00 mov eax, dword ptr [eax]
00676DB7 |. E8 8424E3FF call 004A9240
00676DBC |. 8B83 FC020000 mov eax, dword ptr [ebx+2FC]
00676DC2 |. 8B10 mov edx, dword ptr [eax]
00676DC4 |. FF92 C4000000 call dword ptr [edx+C4]
00676DCA |. E9 8F010000 jmp 00676F5E
00676DCF |> 8D55 C0 lea edx, dword ptr [ebp-40]
00676DD2 |. A1 90F86800 mov eax, dword ptr [68F890]
00676DD7 |. 8B80 F8020000 mov eax, dword ptr [eax+2F8]
00676DDD |. E8 5A0BE1FF call 0048793C ; 机器码
00676DE2 |. 8B45 C0 mov eax, dword ptr [ebp-40]
00676DE5 |. E8 9631D9FF call 00409F80 ; 机器码转数字
00676DEA |. 8BF0 mov esi, eax
00676DEC |. B8 E86F6700 mov eax, 00676FE8 ; 20100602
00676DF1 |. E8 8A31D9FF call 00409F80 ; 20100602转数字
00676DF6 |. 03F0 add esi, eax ; 相加
00676DF8 |. 8BC6 mov eax, esi
00676DFA |. 8D55 C4 lea edx, dword ptr [ebp-3C]
00676DFD |. E8 4230D9FF call 00409E44 ; 转字符串
00676E02 |. 8B45 C4 mov eax, dword ptr [ebp-3C]
00676E05 |. 8D4D C8 lea ecx, dword ptr [ebp-38]
00676E08 |. BA 08000000 mov edx, 8
00676E0D |. E8 02ADDCFF call 00441B14
00676E12 |. 8B4D C8 mov ecx, dword ptr [ebp-38]
00676E15 |. 8D45 CC lea eax, dword ptr [ebp-34]
00676E18 |. BA BC6F6700 mov edx, 00676FBC ; 68
00676E1D |. E8 3EDED8FF call 00404C60 ; 前缀“68”
00676E22 |. 8B45 CC mov eax, dword ptr [ebp-34] ; 真码出现
00676E25 |. 8D55 E4 lea edx, dword ptr [ebp-1C]
00676E28 |. E8 1BFBFFFF call 00676948
00676E2D |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00676E30 |. 8D55 D0 lea edx, dword ptr [ebp-30]
00676E33 |. E8 84FBFFFF call 006769BC ; 真码的MD5
00676E38 |. 8B45 D0 mov eax, dword ptr [ebp-30]
00676E3B |. 50 push eax
00676E3C |. 8D55 E4 lea edx, dword ptr [ebp-1C]
00676E3F |. 8B45 FC mov eax, dword ptr [ebp-4]
00676E42 |. E8 01FBFFFF call 00676948
00676E47 |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00676E4A |. 8D55 BC lea edx, dword ptr [ebp-44]
00676E4D |. E8 6AFBFFFF call 006769BC ; 假码的MD5
00676E52 |. 8B55 BC mov edx, dword ptr [ebp-44]
00676E55 |. 58 pop eax
00676E56 |. E8 05DFD8FF call 00404D60 ; 真假码MD5比较
00676E5B |. 74 3F je short 00676E9C ; 不等跳死
00676E5D |. 6A 30 push 30
00676E5F |. 8D55 B8 lea edx, dword ptr [ebp-48]
00676E62 |. A1 94D16800 mov eax, dword ptr [68D194]
00676E67 |. 8B00 mov eax, dword ptr [eax]
00676E69 |. E8 461DE3FF call 004A8BB4
00676E6E |. 8B45 B8 mov eax, dword ptr [ebp-48]
00676E71 |. E8 9EDFD8FF call 00404E14
00676E76 |. 8BC8 mov ecx, eax
00676E78 |. BA C06F6700 mov edx, 00676FC0 ; 注册码有误
00676E7D |. A1 94D16800 mov eax, dword ptr [68D194]
00676E82 |. 8B00 mov eax, dword ptr [eax]
00676E84 |. E8 B723E3FF call 004A9240
00676E89 |. 8B83 FC020000 mov eax, dword ptr [ebx+2FC]
00676E8F |. 8B10 mov edx, dword ptr [eax]
00676E91 |. FF92 C4000000 call dword ptr [edx+C4]
00676E97 |. E9 C2000000 jmp 00676F5E
00676E9C |> A1 40CF6800 mov eax, dword ptr [68CF40]
00676EA1 |. 8B00 mov eax, dword ptr [eax]
00676EA3 |. 8B40 5C mov eax, dword ptr [eax+5C]
00676EA6 |. 33D2 xor edx, edx
00676EA8 |. 8B08 mov ecx, dword ptr [eax]
00676EAA |. FF91 78010000 call dword ptr [ecx+178]
00676EB0 |. 8D55 E4 lea edx, dword ptr [ebp-1C]
00676EB3 |. 8B45 FC mov eax, dword ptr [ebp-4] ; 假码
00676EB6 |. E8 8DFAFFFF call 00676948
00676EBB |. 8D45 E4 lea eax, dword ptr [ebp-1C]
00676EBE |. 8D55 AC lea edx, dword ptr [ebp-54]
00676EC1 |. E8 F6FAFFFF call 006769BC ; 假码MD5
00676EC6 |. 8B45 AC mov eax, dword ptr [ebp-54]
00676EC9 |. 8D55 B0 lea edx, dword ptr [ebp-50]
00676ECC |. E8 5B2AD9FF call 0040992C
00676ED1 |. 8B4D B0 mov ecx, dword ptr [ebp-50]
00676ED4 |. 8D45 B4 lea eax, dword ptr [ebp-4C]
00676ED7 |. BA FC6F6700 mov edx, 00676FFC ; update xl set xl =
00676EDC |. E8 7FDDD8FF call 00404C60 ; 连接
00676EE1 |. 8B45 B4 mov eax, dword ptr [ebp-4C]
00676EE4 |. 50 push eax
00676EE5 |. A1 40CF6800 mov eax, dword ptr [68CF40]
00676EEA |. 8B00 mov eax, dword ptr [eax]
00676EEC |. 8B40 5C mov eax, dword ptr [eax+5C]
00676EEF |. E8 303AFFFF call 0066A924
00676EF4 |. 5A pop edx ; (initial cpu selection)
00676EF5 |. 8B08 mov ecx, dword ptr [eax]
00676EF7 |. FF51 2C call dword ptr [ecx+2C] ; 写入文件
00676EFA |. A1 40CF6800 mov eax, dword ptr [68CF40]
00676EFF |. 8B00 mov eax, dword ptr [eax]
00676F01 |. 8B40 5C mov eax, dword ptr [eax+5C]
00676F04 |. E8 4339FFFF call 0066A84C
00676F09 |. 33D2 xor edx, edx
00676F0B |. 8B83 F8020000 mov eax, dword ptr [ebx+2F8]
00676F11 |. 8B08 mov ecx, dword ptr [eax]
00676F13 |. FF51 64 call dword ptr [ecx+64]
00676F16 |. 33D2 xor edx, edx
00676F18 |. 8B83 FC020000 mov eax, dword ptr [ebx+2FC]
00676F1E |. 8B08 mov ecx, dword ptr [eax]
00676F20 |. FF51 64 call dword ptr [ecx+64]
00676F23 |. 33D2 xor edx, edx
00676F25 |. 8B83 0C030000 mov eax, dword ptr [ebx+30C]
00676F2B |. 8B08 mov ecx, dword ptr [eax]
00676F2D |. FF51 64 call dword ptr [ecx+64]
00676F30 |. 33D2 xor edx, edx
00676F32 |. 8B83 10030000 mov eax, dword ptr [ebx+310]
00676F38 |. 8B08 mov ecx, dword ptr [eax]
00676F3A |. FF51 64 call dword ptr [ecx+64]
00676F3D |. BA 18706700 mov edx, 00677018 ; 注册版本,感谢你的支持!
00676F42 |. 8B83 14030000 mov eax, dword ptr [ebx+314]
00676F48 |. E8 1F0AE1FF call 0048796C
00676F4D |. B8 3C706700 mov eax, 0067703C ; 注册成功,感谢您的支持
00676F52 |. E8 215FDCFF call 0043CE78
00676F57 |. 8BC3 mov eax, ebx
00676F59 |. E8 9AE8E2FF call 004A57F8
【算法总结】机器码和20100602相加,前边加上“68”就是注册码。