好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 hackerchang 于 2013-12-12 15:25 编辑
【文章标题】: 160 个crackme 破解探索 之 第一个
【文章作者】: hackerchang
【软件名称】: Acid burn.exe
【软件大小】: 921 KB
【下载地址】: http://pan.baidu.com/s/1vNqf5
【加壳方式】: 无壳
【保护方式】: 不知道 难度一颗星
【编写语言】: Borland Delphi 3.0
【使用工具】: OD PEID
【操作平台】: xp sp3
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
本人原始鸟 只会爆破 不会算法!!!!!!
在吾爱破解论坛已经很长时间了 现在我也想变成大牛所以每天破解一个crackme,希望我也能早融入大这个大家庭里!
我非常希望大家能指出我的不足 多多提意见多多帮助 我会虚心学习的
OD 载入 F9运行起来 看到一个英文的程序 serial/name 序列号/名字 (幸亏认识点 嘻嘻嘻嘻)
界面分析:
该成程序有两个地方需要爆破
1.点击 serial/name 输入 用户名 序列号 点击 check it baby, 出现 “Sorry , The serial is incorect !”
2.点击 serial 输入 序列号 点击 check it baby, 出现 “Try Again!”
Ok go go go let's move !
最常用的手法 查找字符串 Unicode 找到 以上俩处提示的地方 “Sorry , The serial is incorect !”/“Try Again!”
然后在这两个地址下F2断点,然后根据以往的经验最好在程序的段手在下F2断点(经验就是经验我就不告诉你为什么)
所谓的段首就是在刚才下断点的地方网上拉找到下面类似的语句就可以了
0042F998 /. 55 push ebp
0042F999 |. 8BEC mov ebp,esp
0042F99B |. 33C9 xor ecx,ecx
0042F99D |. 51 push ecx
0042F99E |. 51 push ecx
0042F99F |. 51 push ecx
0042F9A0 |. 51 push ecx
0042F9A1 |. 51 push ecx
0042F9A2 |. 51 push ecx
0042F998 /. 55 push ebp /这样的就是段首
运行起来 点击 serial/name 输入 用户名 序列号 会断在段首 F8 单步跟踪 当走到这个地方的时候
0042FA52 |. E8 D96EFDFF call Acid_bur.00406930 //根据实验这里是提取用户名长度的call
0042FA57 |. 83F8 04 cmp eax,0x4 //很强烈的对比
0042FA5A |. 7D 1D jge short Acid_bur.0042FA79 //此时这个是跳转的(jge 大于等于/不小于时转移)
0042FA5C |. 6A 00 push 0x0
0042FA5E |. B9 74FB4200 mov ecx,Acid_bur.0042FB74 ; Try Again!
0042FA63 |. BA 80FB4200 mov edx,Acid_bur.0042FB80 ; Sorry , The serial is incorect !
0042FA68 |. A1 480A4300 mov eax,dword ptr ds:[0x430A48]
0042FA6D |. 8B00 mov eax,dword ptr ds:[eax]
0042FA6F |. E8 FCA6FFFF call Acid_bur.0042A170 //错误CALL!提示 Sorry , The serial is incorect !
call 以及 对比 和 jge (比较经典的语句);以上并不是关键的地方我们继续向下走F8继续跟踪 当走到这里时
0042FAFE |. E8 F93EFDFF call Acid_bur.004039FC //关键call
0042FB03 |. 75 1A jnz short Acid_bur.0042FB1F //关键跳 -- 此时它直接跳过正确的提示
0042FB05 |. 6A 00 push 0x0
0042FB07 |. B9 CCFB4200 mov ecx,Acid_bur.0042FBCC ; Congratz !!Good job dude =)
0042FB0C |. BA D8FB4200 mov edx,Acid_bur.0042FBD8 ; Good job dude =)
0042FB11 |. A1 480A4300 mov eax,dword ptr ds:[0x430A48]
0042FB16 |. 8B00 mov eax,dword ptr ds:[eax]
0042FB18 |. E8 53A6FFFF call Acid_bur.0042A170
0042FB1D |. EB 18 jmp short Acid_bur.0042FB37
0042FB1F |> 6A 00 push 0x0
0042FB21 |. B9 74FB4200 mov ecx,Acid_bur.0042FB74 ; Try Again!
0042FB26 |. BA 80FB4200 mov edx,Acid_bur.0042FB80 ; Sorry , The serial is incorect !
0042FB2B |. A1 480A4300 mov eax,dword ptr ds:[0x430A48]
0042FB30 |. 8B00 mov eax,dword ptr ds:[eax]
0042FB32 |. E8 39A6FFFF call Acid_bur.0042A170
根据经验直接 nop 掉 0042FB03 |. 75 1A jnz short Acid_bur.0042FB1F 就OK了。
好 继续第二个地方 (自己搞吧很简单的哦)
--------------------------------------------------------------------------------
【版权声明】: 本文原创于hackerchang, 转载请注明作者并保持文章的完整, 谢谢!
2013年12月12日 15:15:30
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|