keygenme_04注册名要大干2位,程序取注册码后经过循环运算然后和真码逐位比较,符合就弹出对话框,
00450062 |. 55 push ebp 在此下断,F8慢慢跟
00450063 |. 68 8D014500 push 0045018D
00450068 |. 64:FF30 push dword ptr fs:[eax]
0045006B |. 64:8920 mov dword ptr fs:[eax], esp
0045006E |. 8D55 F8 lea edx, dword ptr [ebp-8]
00450071 |. 8B45 FC mov eax, dword ptr [ebp-4]
00450074 |. 8B80 00030000 mov eax, dword ptr [eax+300]
0045007A |. E8 D9F2FDFF call 0042F358
0045007F |. 8B45 F8 mov eax, dword ptr [ebp-8]
00450082 |. E8 4940FBFF call 004040D0
00450087 |. 8945 F0 mov dword ptr [ebp-10], eax
0045008A |. 837D F0 02 cmp dword ptr [ebp-10], 2
0045008E 0F8C DE000000 jl 00450172
00450094 |. 8D55 F4 lea edx, dword ptr [ebp-C]
00450097 |. 8B45 FC mov eax, dword ptr [ebp-4]
0045009A |. 8B80 08030000 mov eax, dword ptr [eax+308]
004500A0 |. E8 B3F2FDFF call 0042F358
004500A5 |. 8B45 F4 mov eax, dword ptr [ebp-C]
004500A8 |. E8 2340FBFF call 004040D0
004500AD |. 8945 EC mov dword ptr [ebp-14], eax
004500B0 |. 837D EC 0A cmp dword ptr [ebp-14], 0A
004500B4 0F85 B8000000 jnz 00450172
004500BA |. 8B45 EC mov eax, dword ptr [ebp-14]
004500BD |. 85C0 test eax, eax
004500BF 7E 34 jle short 004500F5
004500C1 |. 8945 E4 mov dword ptr [ebp-1C], eax
004500C4 |. C745 E8 01000>mov dword ptr [ebp-18], 1
004500CB |> 8B45 F4 /mov eax, dword ptr [ebp-C] 循环开始了
004500CE |. 8B55 E8 |mov edx, dword ptr [ebp-18]
004500D1 |. 807C10 FF 30 |cmp byte ptr [eax+edx-1], 30
004500D6 0F82 96000000 jb 00450172
004500DC |. 8B45 F4 |mov eax, dword ptr [ebp-C]
004500DF |. 8B55 E8 |mov edx, dword ptr [ebp-18]
004500E2 |. 807C10 FF 39 |cmp byte ptr [eax+edx-1], 39
004500E7 0F87 85000000 ja 00450172
004500ED |. FF45 E8 |inc dword ptr [ebp-18]
004500F0 |. FF4D E4 |dec dword ptr [ebp-1C]
004500F3 |.^ 75 D6 \jnz short 004500CB 这是循环,必须让它循环完才能继续向下
004500F5 |> 8B45 F4 mov eax, dword ptr [ebp-C]
004500F8 |. 0FB600 movzx eax, byte ptr [eax]
004500FB |. 8B55 F4 mov edx, dword ptr [ebp-C]
004500FE |. 0FB652 05 movzx edx, byte ptr [edx+5]
00450102 |. 03C2 add eax, edx
00450104 |. 83F8 6D cmp eax, 6D
00450107 75 69 jnz short 00450172
00450109 |. 8B45 F4 mov eax, dword ptr [ebp-C]
0045010C |. 0FB640 01 movzx eax, byte ptr [eax+1]
00450110 |. 8B55 F4 mov edx, dword ptr [ebp-C]
00450113 |. 0FB652 06 movzx edx, byte ptr [edx+6]
00450117 |. 03C2 add eax, edx
00450119 |. 83F8 67 cmp eax, 67
0045011C 75 54 jnz short 00450172
0045011E |. 8B45 F4 mov eax, dword ptr [ebp-C]
00450121 |. 0FB640 02 movzx eax, byte ptr [eax+2]
00450125 |. 8B55 F4 mov edx, dword ptr [ebp-C]
00450128 |. 0FB652 07 movzx edx, byte ptr [edx+7]
0045012C |. 03C2 add eax, edx
0045012E |. 83F8 69 cmp eax, 69
00450131 75 3F jnz short 00450172
00450133 |. 8B45 F4 mov eax, dword ptr [ebp-C]
00450136 |. 0FB640 03 movzx eax, byte ptr [eax+3]
0045013A |. 8B55 F4 mov edx, dword ptr [ebp-C]
0045013D |. 0FB652 08 movzx edx, byte ptr [edx+8]
00450141 |. 03C2 add eax, edx
00450143 |. 83F8 70 cmp eax, 70
00450146 75 2A jnz short 00450172
00450148 |. 8B45 F4 mov eax, dword ptr [ebp-C]
0045014B |. 0FB640 04 movzx eax, byte ptr [eax+4]
0045014F |. 8B55 F4 mov edx, dword ptr [ebp-C]
00450152 |. 0FB652 09 movzx edx, byte ptr [edx+9]
00450156 |. F7EA imul edx
00450158 |. 3D 8C0A0000 cmp eax, 0A8C
0045015D 75 13 jnz short 00450172
0045015F |. 6A 40 push 40 ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
00450161 |. 68 98014500 push 00450198 ; |congratulations
00450166 |. 68 A8014500 push 004501A8 ; |good job,man!
0045016B |. 6A 00 push 0 ; |hOwner = NULL
0045016D |. E8 2E63FBFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
00450172 |> 33C0 xor eax, eax
这是注册部分大家慢慢分析吧,要爆破的话把向下的跳转都改掉就行了