hackerchang 发表于 2013-12-12 15:18

[原始鸟]160个 crackme 破解探索 之 第一个

本帖最后由 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:
0042FA6D|.8B00          mov eax,dword ptr ds:
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:
0042FB16|.8B00          mov eax,dword ptr ds:
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:
0042FB30|.8B00          mov eax,dword ptr ds:
0042FB32|.E8 39A6FFFF   call Acid_bur.0042A170

根据经验直接 nop 掉 0042FB03|.75 1A         jnz short Acid_bur.0042FB1F   就OK了。

好 继续第二个地方 (自己搞吧很简单的哦)


--------------------------------------------------------------------------------
【版权声明】: 本文原创于hackerchang, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2013年12月12日 15:15:30


马斯维尔 发表于 2013-12-12 15:23

希望楼主坚持更新。这个160.比较好玩。 最后。你的破文生成器的最后一句话 改掉吧。。{:301_1009:}

hackerchang 发表于 2013-12-12 15:25

马斯维尔 发表于 2013-12-12 15:23 static/image/common/back.gif
希望楼主坚持更新。这个160.比较好玩。 最后。你的破文生成器的最后一句话 改掉吧。。

恩 好的 哈哈 小生的东西用起来还是比较方便的{:1_912:}

贱的有气质 发表于 2014-1-25 21:23

谢谢楼主哇

olanping 发表于 2014-2-15 15:56

楼主做下这个系列的传送门啊

luoxian 发表于 2014-12-6 13:40

好东西,太厉害了
页: [1]
查看完整版本: [原始鸟]160个 crackme 破解探索 之 第一个