[原创]CrackMe技术等级自测系统(第三关)
发表于:
2012-6-27 13:16
6334
【文章标题】: CrackMe技术等级自测系统(第三关)
【文章作者】: 李大春
【作者邮箱】: 目前木有
【软件名称】: crackme03
【下载地址】: crackme板块有
【加壳方式】: 无
【保护方式】: 无壳
【编写语言】: Borland Delphi 3.0
【使用工具】: OD1.10
【操作平台】: XP SP3
【软件介绍】: 是在论坛看到的crackme
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
看了一下,有位仁兄发了个贴,说过了3关开始给介绍工作,而且6K以上,呵呵!!!纯属给兄弟们添堵,没有作者说得那么难,估计是一种心理暗示。
废话不多说,先说说这个crackme,前两关,无限简单,属于无知少女级别。如有需求再放出破解贴。
开始:
选择方式:追码(可以爆破,但是没有追码容易)
PEID查壳,无壳,这个Crackme前三关(至少目前)是无壳的。
运行一下程序见图1(不会插图还是算了吧)
发现除About按钮外无任何按钮。根本无注册按钮,倒是有your name 和your key的提示。明显是隐藏了,只有输入正确用户名与注册码是才能显示过关提示。
用pexploere打开程序,在RC数据的TFORM1中双击,找到SpeedButton1:TspeedButton里看到Rigister按钮,但是被False了
改为Ture,然后保存退出,重新运行程序发现已有Rigister按钮(图2)。用DEDE载入程序,找到过程中的SpeedButton1Click事件
双击得到按钮事件的地址。(00430E10)
开始OD调试
OD载入,直接Ctrl+g来到00430E10 F2下断,运行程序,输入用户名admin1(用户名最好是六位)与注册码123456,点Rigister按钮,程序断在00430E10处,
00430E10 /. 55 push ebp
00430E11 |. 8BEC mov ebp,esp
00430E13 |. 6A 00 push 0
00430E15 |. 6A 00 push 0
00430E17 |. 53 push ebx
00430E18 |. 8BD8 mov ebx,eax
00430E1A |. 33C0 xor eax,eax
00430E1C |. 55 push ebp
00430E1D |. 68 AF0F4300 push CrackMe0.00430FAF
00430E22 |. 64:FF30 push dword ptr fs:[eax]
单步走,来到下面
00430EAF |. E8 202AFDFF call CrackMe0.004038D4
00430EB4 |. 83F8 06 cmp eax,6
00430EB7 |. 0F8C D4000000 jl CrackMe0.00430F91 不能跳
00430EBD |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
00430EC0 |. 8B83 DC010000 mov eax,dword ptr ds:[ebx+1DC]
00430EC6 |. E8 5585FEFF call CrackMe0.00419420
00430ECB |. 837D FC 00 cmp dword ptr ss:[ebp-4],0
00430ECF |. 0F84 BC000000 je CrackMe0.00430F91 不能跳
00430ED5 |. E8 A6010000 call CrackMe0.00431080
00430EDA |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
00430EDD |. 8B83 DC010000 mov eax,dword ptr ds:[ebx+1DC]
00430EE3 |. E8 3885FEFF call CrackMe0.00419420
00430EE8 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
00430EEB |. 50 push eax
00430EEC |. 8D55 F8 lea edx,dword ptr ss:[ebp-8]
00430EEF |. A1 A4474300 mov eax,dword ptr ds:[4347A4]
00430EF4 |. E8 5757FDFF call CrackMe0.00406650 算法
00430EF9 |. 8B55 F8 mov edx,dword ptr ss:[ebp-8]
00430EFC |. 58 pop eax
00430EFD |. E8 E22AFDFF call CrackMe0.004039E4
00430F02 |. 0F85 89000000 jnz CrackMe0.00430F91 必须不能跳,跳就Game Over了
00430F08 |. 68 40200000 push 2040 ; /Style = MB_OK|MB_ICONASTERISK|MB_TASKMODAL
00430F0D |. 68 30104300 push CrackMe0.00431030 ; |Title = "You're now registered!"
00430F12 |. 68 48104300 push CrackMe0.00431048 ; |Text = "Thank you for registering..."
00430F17 |. 6A 00 push 0 ; |hOwner = NULL
00430F19 |. E8 3648FDFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA 提示出来了呵呵
00430F1E |. 8B83 F4010000 mov eax,dword ptr ds:[ebx+1F4]
00430F24 |. 8B40 50 mov eax,dword ptr ds:[eax+50]
00430F27 |. BA 08000080 mov edx,80000008
00430F2C |. E8 2309FEFF call CrackMe0.00411854
00430F31 |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
00430F34 |. 8B83 E4010000 mov eax,dword ptr ds:[ebx+1E4]
00430F3A |. E8 E184FEFF call CrackMe0.00419420
00430F3F |. 8B4D FC mov ecx,dword ptr ss:[ebp-4]
00430F42 |. 8D45 F8 lea eax,dword ptr ss:[ebp-8]
00430F45 |. BA 70104300 mov edx,CrackMe0.00431070 ; ASCII "registered to " O~~~YES
00430F4A |. E8 D129FDFF call CrackMe0.00403920
发现00430F45有registered to 呵呵 快到了哦。
呵呵所以呢,坚决不能让00430EB7处和00430ECF处的两处大跳转实现,呵呵
00430EF4处的CALL为算法CALL能根据填写的用户名算出具体正确的注册码。我们就不进去晃悠了,单步走
走到00430EF9处时,观察堆栈,呵呵我们的注册码登场!!!!!!
0012FD08 009552F4 ASCII "123456"
0012FD0C 0012FE18 指针到下一个 SEH 记录
0012FD10 00430FAF SE 句柄
0012FD14 0012FD24
0012FD18 00953AB8
0012FD1C 00952690 ASCII "224646482" 呵呵注册码登场
0012FD20 009552F4 ASCII "123456" 这是我们输入的假码
0012FD24 /0012FD48
0012FD28 |00419E1F 返回到 CrackMe0.00419E1F
0012FD2C |0042F688 CrackMe0.0042F688
0012FD30 |0042F68D 返回到 CrackMe0.0042F68D 来自 CrackMe0.00419E04
0012FD34 |0042F676 返回到 CrackMe0.0042F676 来自 CrackMe0.00402CD0
自此追码过程结束呵呵
付用户名与注册码
your name:admin1
your key :224646482
直接在源程序中用得到过关提示 Thank you for registering...
前两关比较简单大家练手,呵呵有需要再发上来吧。
为了兄弟们观看方便,两张图片,图片1,2和两个附件,改动前和改动后都已经打包。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于大春, 转载请注明作者并保持文章的完整, 谢谢!
2012年06月27日 下午 01:11:24
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
上传的附件: