OllyDbg分析crackme-AcidBurn

一、取消NEG窗口(welcome to....)

双击该程序,出现欢迎词welcome to...。

8fa45dd1af8f4f259145b6a435f2e378.png

 点击确定,出现如下图所示

1ab77263609e4b2d84e7fae7fe40552e.png

将该程序用OllyDbg打开

11dcbcbcf3db43c3995741f0f15a26ee.png

 右击-中文搜索引擎-智能搜索

7b44c2087d9d4a848264f0e0430ef05b.png

出现中文搜索引擎,向下滑动,可以找到welcome to...等字符串

6521255d3a714307b490bddc6c80cf36.png

 1、双击第一个Try again!向上找可以找到一条跳跃语句,跳-失败,不跳-成功

 95e48234713c49b780605631aed5ec43.png

 爆破右:击用nop填充

9e5b2149965b4e369fd7473378982d89.png

 20c31882257b4900b460d547be7ff4a8.png

 向上找到函数头并下断

d72461647115437a8269251bbebd78c0.png

 2、返回中文搜索引擎找到第二个Try again!双击

2f5fdf4bb34d46be8cf10965f2e5165f.png

 向上找到函数头,下断

6cb12a548a3e4db1a5cfa0584f12ac88.png

 3、双击第三个Try again!向上找可以找到一条跳跃语句,跳过正确的直接到错误的

 7733590749444f7db682ddf2551f10ae.png

 右击用nop填充 

4b5b4d38c70c44238213955c399011a7.png

向上找发现第二个和第三个是同一个函数头

4、返回中文搜索引擎找到welcome to双击在函数头下断,点击运行,断下

9f761aa84cd944d3904221de6e1b7f3c.png

 第一行,右键,反汇编窗口中跟随

b1841911bfd44dc9b3ece1c53e38bb2f.png

 899a945eff4248908b107f63ff6de395.png

 将JE改为JMP,永远跳过NEG

a04854e55b5f4b9faea275a55f6dcfc3.png

 5、保存

b3fb6266c74d47baa34b1962c075608f.png

 再右键保存文件

c85194b2cbc145c59620b4a3e04ea1c9.png

 打开保存的文件,不弹出NEG

f66fb78bc50043259c59f29da7a3bb3a.png

二、Name/Serial:

POJIE:

将上一步得到的程序用od(管理员身份)再次打开,点击运行,点击Name/Serial

右击-中文搜索引擎-智能搜索,找到该语句,发现有两条

acaa4f5e73544d468047a0432219fa68.png

一条一条验证,先点击第一条,左边跳到该地址,向上翻,找到调用该函数的起始位置,0042F9A9 push ebp下断点,运行程序,多次F8步入,发现跳过了第一条,说明不是这一条,那就说明是第二条,点击第二条Sorry位置,可以看到上面有一个注册成功的位置,同样找到起始位置,0042F9A9 push ebp下断点,运行程序,多次F8步入,发现一条jnz XAcid_bur.0042F81F跳过语句

6c821c21fba24cb5b88810e110eea79a.png

 方法一:右边z标识位是0,将它设置为1,运行,单步注入,会发现成功了。

d8e8d1a13339411e942951fcd526b0a1.png

 方法二:不让跳转执行,nop填充jnz语句,在上一句call语句下断点,运行,下断点,会发现无论输入什么都会成功,成功。

95f5f76c082c430184d4633c0e22c976.png

找到正确的注册码:

打开一个程序,在jnz上面语句下断点,运行,输入信息check

603cddd663604a3c9f9c37b94f7906d7.png

 发现上面两条语句,EDX是自己输入的,EAX可能是真正的注册码:CW-4018-CRACKED

a118aa1cccfb452ea2bdce811293f75c.png

 发现CW和CRACKED都是固定的,只有4018是运算出来的

0d90127d8e9f4387890c03af0115c72f.png

 到上面找到起始位置,设置断点,运行,点击check。F8单步注入,在调试的过程中发现

5052a6037b974143a4673573e4646866.png

 Call地址是计算出4018的地方,下断点,运行,check

6a482d9b88824c84a564d3406d193663.png

 到了起始位置,点运行,到了call断点,进入函数体,发现只有一个函数,进入,

b15df43102884bd3862bb2e71d435810.png

 这6个函数,其中有一个会计算出4018

7b94c982f2144dc4b112e6218a183e29.png

 逐步尝试这6个函数是哪个输出了4018(进入函数,单步注入,观察结果)

经验证发现,当用户名是以123456开头的,注册码都是CW-4018-CRACKED

64c6d97b90074354b231f4cea045799e.png

 d2804a7bf6174e3caae0931b4264f09f.png

三、Serial

同Name/Serial一样,找到提示语句,将其Nop掉,就不会调到Failed这

eabb6d0cb6734abfa5d5b6b37dc34452.png

 228e3451eff749b8ac5acc266c73cc4e.png

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moriia---

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值