太简单了,注册机一会写
00401B56 |. 8D5C05 C0 lea ebx, dword ptr [ebp+eax-40]
00401B5A |> 8B05 E0914700 /mov eax, dword ptr [4791E0]
00401B60 |. 8945 DC |mov dword ptr [ebp-24], eax
00401B63 |. 8B05 E4914700 |mov eax, dword ptr [4791E4]
00401B69 |. 8945 E0 |mov dword ptr [ebp-20], eax
00401B6C |. 66:8B05 E8914>|mov ax, word ptr [4791E8]
00401B73 |. 66:8945 E4 |mov word ptr [ebp-1C], ax
00401B77 |. 8B4D F8 |mov ecx, dword ptr [ebp-8] ; 第四位送入 ECX
00401B7A |. 8B45 FC |mov eax, dword ptr [ebp-4] ; 第三位
00401B7D |. 0FAF4D F4 |imul ecx, dword ptr [ebp-C]
00401B81 |. 2BC6 |sub eax, esi
00401B83 |. 8B55 F8 |mov edx, dword ptr [ebp-8]
00401B86 |. 2BC8 |sub ecx, eax
00401B88 |. 2BD6 |sub edx, esi
00401B8A |. 03D1 |add edx, ecx
00401B8C |. 8BC2 |mov eax, edx
00401B8E |. 0FBE13 |movsx edx, byte ptr [ebx]
00401B91 |. 0BC2 |or eax, edx
00401B93 |. 2BC6 |sub eax, esi
00401B95 |. 50 |push eax ; /<%04X>
00401B96 |. 8D45 DC |lea eax, dword ptr [ebp-24] ; |
00401B99 |. 68 EE914700 |push 004791EE ; |Format = "%04X"
00401B9E |. 50 |push eax ; |s
00401B9F |. E8 EA680700 |call <jmp.&USER32.wsprintfA> ; \wsprintfA
00401BA4 |. 83C4 0C |add esp, 0C
00401BA7 |. 8D4D 80 |lea ecx, dword ptr [ebp-80]
00401BAA |. 51 |push ecx
00401BAB |. E8 FC8E0500 |call 0045AAAC
00401BB0 |. 59 |pop ecx
00401BB1 |. 83F8 20 |cmp eax, 20
00401BB4 |. 73 2D |jnb short 00401BE3
00401BB6 |. 8D45 DC |lea eax, dword ptr [ebp-24]
00401BB9 |. 50 |push eax ; /Arg2
00401BBA |. 8D55 80 |lea edx, dword ptr [ebp-80] ; |
00401BBD |. 52 |push edx ; |Arg1
00401BBE |. E8 AD8E0500 |call 0045AA70 ; \CrackMe.0045AA70
00401BC3 |. 83C4 08 |add esp, 8
00401BC6 |. 4F |dec edi
00401BC7 |. FF45 F0 |inc dword ptr [ebp-10]
00401BCA |. 43 |inc ebx
00401BCB |. 3B75 F0 |cmp esi, dword ptr [ebp-10]
00401BCE |. 75 0A |jnz short 00401BDA
00401BD0 |. 837D F0 00 |cmp dword ptr [ebp-10], 0
00401BD4 |. 0F94C1 |sete cl
00401BD7 |. 83E1 01 |and ecx, 1
00401BDA |> 85FF |test edi, edi
00401BDC |. 7E 05 |jle short 00401BE3
00401BDE |.^ E9 77FFFFFF \jmp 00401B5A
00401BE3 |> 8D55 84 lea edx, dword ptr [ebp-7C] ; (ASCII "FFF5FFFFFFF5FFFFFFFBFFFFFFFB")
00401BE6 |. 8D45 80 lea eax, dword ptr [ebp-80]
00401BE9 |. 8B0A mov ecx, dword ptr [edx]
00401BEB |. C1E1 1C shl ecx, 1C
00401BEE |. 0308 add ecx, dword ptr [eax]
00401BF0 |. 33D2 xor edx, edx
00401BF2 |. 898D 78FFFFFF mov dword ptr [ebp-88], ecx
00401BF8 |. 8995 7CFFFFFF mov dword ptr [ebp-84], edx
00401BFE |. DFAD 78FFFFFF fild qword ptr [ebp-88]
00401C04 |. DD5D D4 fstp qword ptr [ebp-2C]
00401C07 |. 6A 20 push 20 ; /Arg3 = 00000020
00401C09 |. 6A 00 push 0 ; |Arg2 = 00000000
00401C0B |. 50 push eax ; |Arg1
00401C0C |. E8 BB8D0500 call 0045A9CC ; \CrackMe.0045A9CC
00401C11 |. 83C4 0C add esp, 0C
00401C14 |. FF75 D8 push dword ptr [ebp-28] ; /Arg4
00401C17 |. FF75 D4 push dword ptr [ebp-2C] ; |Arg3
00401C1A |. 68 F3914700 push 004791F3 ; |Arg2 = 004791F3 ASCII "%.0f"
00401C1F |. 8D4D 80 lea ecx, dword ptr [ebp-80] ; |
00401C22 |. 51 push ecx ; |Arg1
00401C23 |. E8 BCA80500 call 0045C4E4 ; \这里处理最后结果
主要计算代码在这里,等我吃了饭就写注册机