一个crackme的破解
昨晚下载的一个crackme程序,我是一个新手,下来只是想试一下,看能不能破了。
首先声明,这是我第一次破解,请高手指正。
文件名是ncrackme。用PEID查壳,无壳,显示:Microsoft Visual C++6.0.
用OD载入停在:
00401368 n>/$ 55 push ebp
00401369 |. 8BEC mov ebp,esp
0040136B |. 6A FF push -1
0040136D |. 68 E8404000 push ncrackme.004040E8
00401372 |. 68 9C1E4000 push ncrackme.00401E9C ; SE handler installation
00401377 |. 64:A1 00000000 mov eax,dword ptr fs:[0]
0040137D |. 50 push eax
按F9运行软件
弹出对话框:
Reg name 输入asdfg
Reg key 输入123456
按Register
弹出对话框:Registration file
重新载入软件,一路F8,至00401431
00401431 |. E8 AAFCFFFF call ncrackme.004010E0 ; \ncrackme.004010E0
00401436 |. 8945 A0 mov dword ptr ss:[ebp-60],eax
00401439 |. 50 push eax
0040143A |. E8 95000000 call ncrackme.004014D4
0040143F |. 8B45 EC mov eax,dword ptr ss:[ebp-14]
00401442 |. 8B08 mov ecx,dword ptr ds:[eax]
00401444 |. 8B09 mov ecx,dword ptr ds:[ecx]
00401446 |. 894D 98 mov dword ptr ss:[ebp-68],ecx
00401449 |. 50 push eax
0040144A |. 51 push ecx
0040144B |. E8 59010000 call ncrackme.004015A9
弹出对话框,同上输入:Reg name 输入asdfg
Reg key 输入123456
按Register,显示:Registration file
重新载入软件,向上找到“注释'Text=REgistration fill'
00401058 . /75 74 jnz short ncrackme.004010CE
0040105A . |8B4424 0C mov eax,dword ptr ss:[esp+C]
0040105E . |66:3D EA03 cmp ax,3EA
00401062 . |75 42 jnz short ncrackme.004010A6
00401064 . |E8 C7010000 call ncrackme.00401230
00401069 . |85C0 test eax,eax
0040106B . |6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
0040106D . |68 80504000 push ncrackme.00405080 ; |Title = "ncrackme"
00401072 |75 1B jnz short ncrackme.0040108F
00401074 . |A1 B8564000 mov eax,dword ptr ds:[4056B8] ; |
00401079 . |68 64504000 push ncrackme.00405064 ; |Text = "Registration successful."
0040107E . |50 push eax ; |hOwner => NULL
0040107F . |FF15 C0404000 call dword ptr ds:[<&USER32.Messa>; \MessageBoxA
00401085 . |E8 A6020000 call ncrackme.00401330
0040108A . |33C0 xor eax,eax
0040108C . |C2 1000 retn 10
0040108F > |8B0D B8564000 mov ecx,dword ptr ds:[4056B8] ; |
00401095 . |68 50504000 push ncrackme.00405050 ; |Text = "Registration fail."
向上看
00401072 |75 1B jnz short ncrackme.0040108F这一行
我认为就是这个跳引出的这个”注册文件“
右键00401072,汇编jnzn改为jz。即75改74。
再右键00401072,选复制到可执行文件-选择部分。
在弹出的第一个窗口中右键-保存文件。
选择覆盖文件。存盘。
退出OD。
运行软件,弹出对话框。输入:Reg name 输入asdfg
Reg key 输入123456
按Register
弹出:"Registration fil" 点确定。
l至此,工作完成。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)