最初由 wenlonggao 发布
老大,我是一个刚学破解的菜鸟,谁能写一个破解教程啊
我也菜的很啊。。。。。
给你参考一下的。。。。。。。。。。。。
00453809 |. 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0045380C |. 8B83 00030000 mov eax,dword ptr ds:[ebx+300]
00453812 |. E8 35F2FDFF call crackme.00432A4C
00453817 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
//取用户名
0045381A |. 0FB600 movzx eax,byte ptr ds:[eax]
0045381D |. 83F0 0E xor eax,0E
00453820 |. 8945 FC mov dword ptr ss:[ebp-4],eax
00453823 |. 8D75 FC lea esi,dword ptr ss:[ebp-4]
00453826 |. 8D55 F4 lea edx,dword ptr ss:[ebp-C]
00453829 |. 8B83 F8020000 mov eax,dword ptr ds:[ebx+2F8]
0045382F |. E8 18F2FDFF call crackme.00432A4C
00453834 |. 8B45 F4 mov eax,dword ptr ss:[ebp-C]
//取输入的注册码
00453837 |. 50 push eax
00453838 |. 8D55 F0 lea edx,dword ptr ss:[ebp-10]
0045383B |. 8B06 mov eax,dword ptr ds:[esi]
0045383D |. E8 9E44FBFF call crackme.00407CE0
00453842 |. 8D45 F0 lea eax,dword ptr ss:[ebp-10]
00453845 |. 50 push eax
00453846 |. 8D55 E8 lea edx,dword ptr ss:[ebp-18]
00453849 |. 8B83 00030000 mov eax,dword ptr ds:[ebx+300]
0045384F |. E8 F8F1FDFF call crackme.00432A4C
00453854 |. 8B45 E8 mov eax,dword ptr ss:[ebp-18]
00453857 |. E8 B008FBFF call crackme.0040410C
0045385C |. 8D55 EC lea edx,dword ptr ss:[ebp-14]
0045385F |. E8 7C44FBFF call crackme.00407CE0
00453864 |. 8B55 EC mov edx,dword ptr ss:[ebp-14]
00453867 |. 58 pop eax
00453868 |. E8 A708FBFF call crackme.00404114
0045386D |. 8B55 F0 mov edx,dword ptr ss:[ebp-10]
//真注册码
00453870 |. 58 pop eax
00453871 |. E8 E209FBFF call crackme.00404258
00453876 |. 75 0C jnz short crackme.00453884 //关键比较
00453878 |. B8 D4384500 mov eax,crackme.004538D4
0045387D |. E8 EA3AFDFF call crackme.0042736C//恭喜你
00453882 |. EB 0A jmp short crackme.0045388E
00453884 |> B8 E4384500 mov eax,crackme.004538E4
00453889 |. E8 DE3AFDFF call crackme.0042736C//加油
关键比较:
00404258 /$ 53 push ebx
00404259 |. 56 push esi
0040425A |. 57 push edi
0040425B |. 89C6 mov esi,eax// 假注册码
0040425D |. 89D7 mov edi,edx// 真注册码
0040425F |. 39D0 cmp eax,edx
00404261 |. 0F84 8F000000 je crackme.004042F6// 相等就直接返回
00404267 |. 85F6 test esi,esi
00404269 |. 74 68 je short crackme.004042D3
0040426B |. 85FF test edi,edi
0040426D |. 74 6B je short crackme.004042DA
0040426F |. 8B46 FC mov eax,dword ptr ds:[esi-4]
// 取假注册码的位数
00404272 |. 8B57 FC mov edx,dword ptr ds:[edi-4]
// 取真注册码的位数
00404275 |. 29D0 sub eax,edx
00404277 |. 77 02 ja short crackme.0040427B
00404279 |. 01C2 add edx,eax
0040427B |> 52 push edx
0040427C |. C1EA 02 shr edx,2
0040427F |. 74 26 je short crackme.004042A7
00404281 |> 8B0E /mov ecx,dword ptr ds:[esi]
00404283 |. 8B1F |mov ebx,dword ptr ds:[edi]
00404285 |. 39D9 |cmp ecx,ebx
00404287 |. 75 58 |jnz short crackme.004042E1
00404289 |. 4A |dec edx
0040428A |. 74 15 |je short crackme.004042A1
0040428C |. 8B4E 04 |mov ecx,dword ptr ds:[esi+4]
0040428F |. 8B5F 04 |mov ebx,dword ptr ds:[edi+4]
00404292 |. 39D9 |cmp ecx,ebx
00404294 |. 75 4B |jnz short crackme.004042E1
00404296 |. 83C6 08 |add esi,8
00404299 |. 83C7 08 |add edi,8
0040429C |. 4A |dec edx
0040429D |.^ 75 E2 \jnz short crackme.00404281
0040429F |. EB 06 jmp short crackme.004042A7
004042A1 |> 83C6 04 add esi,4
004042A4 |. 83C7 04 add edi,4
004042A7 |> 5A pop edx
004042A8 |. 83E2 03 and edx,3
004042AB |. 74 22 je short crackme.004042CF
004042AD |. 8B0E mov ecx,dword ptr ds:[esi]
// 取假注册码的第一位
004042AF |. 8B1F mov ebx,dword ptr ds:[edi]
// 取真注册码的第一位
004042B1 |. 38D9 cmp cl,bl
004042B3 |. 75 41 jnz short crackme.004042F6
// 不相等就返回
004042B5 |. 4A dec edx
//EDX做记数,判断与真注册码比较完了没有
004042B6 |. 74 17 je short crackme.004042CF
004042B8 |. 38FD cmp ch,bh
// 比较第二位
004042BA |. 75 3A jnz short crackme.004042F6
//不相等就返回
004042BC |. 4A dec edx
004042BD |. 74 10 je short crackme.004042CF
004042BF |. 81E3 0000FF00 and ebx,0FF0000
004042C5 |. 81E1 0000FF00 and ecx,0FF0000
004042CB |. 39D9 cmp ecx,ebx
//上面两行是将低位清0,然后比较第三位
004042CD |. 75 27 jnz short crackme.004042F6
//不相等就返回
004042CF |> 01C0 add eax,eax
004042D1 |. EB 23 jmp short crackme.004042F6
//直接跳到返回的地方
004042D3 |> 8B57 FC mov edx,dword ptr ds:[edi-4]
004042D6 |. 29D0 sub eax,edx
004042D8 |. EB 1C jmp short crackme.004042F6
004042DA |> 8B46 FC mov eax,dword ptr ds:[esi-4]
004042DD |. 29D0 sub eax,edx
004042DF |. EB 15 jmp short crackme.004042F6
004042E1 |> 5A pop edx
004042E2 |. 38D9 cmp cl,bl
004042E4 |. 75 10 jnz short crackme.004042F6
004042E6 |. 38FD cmp ch,bh
004042E8 |. 75 0C jnz short crackme.004042F6
004042EA |. C1E9 10 shr ecx,10
004042ED |. C1EB 10 shr ebx,10
004042F0 |. 38D9 cmp cl,bl
004042F2 |. 75 02 jnz short crackme.004042F6
004042F4 |. 38FD cmp ch,bh
004042F6 |> 5F pop edi //都跳到这里准备返回
004042F7 |. 5E pop esi
004042F8 |. 5B pop ebx
004042F9 \. C3 retn