crackme160 Acid_burn.exe

  • 首先我们运行一遍程序,浏览程序的大致流程。点击程序后会出现一个nag窗口,如下图。
    在这里插入图片描述

  • 随后进入主界面,布局如下。
    在这里插入图片描述

  • Serial/Name界面如下:
    在这里插入图片描述

  • Serial界面如下:
    在这里插入图片描述

  • 首先我们从去除nag窗口开始,将源程序在OD中打开,使用F8进行向下进行,进行过程中发现当程序进行完一个call调用后,出现nag窗口。第一次尝试直接将该Call行数nop掉,查看结果发现程序不能正常运行,为出现主界面而是直接出现了单个窗口。
    在这里插入图片描述
    图 1 导入程序
    在这里插入图片描述
    图 2 程序函数及nag窗口
    在这里插入图片描述
    图 3 nop替换代码
    在这里插入图片描述
    图 4 nop 后的运行结果

  • 所以我们在第一个call函数处设置断点,然后F7进入后继续使用F8步过查看是哪个函数调用了nag窗口。
    在这里插入图片描述
    图 5 设置断点后F7步入
    在这里插入图片描述
    图 6 发现了调用nag窗口的函数

  • 尝试使用NOP替换,发现运行发生错误。
    在这里插入图片描述
    图 7 错误窗口

  • 再次设置断点,重复以上步骤。
    在这里插入图片描述
    图 8 nag窗口函数
    在这里插入图片描述
    图 9 实现nag窗口
    在这里插入图片描述
    图 10 nop替换
    在这里插入图片描述
    图 11 成功去除nag窗口

  • 将程序保存为Acid burn nag.exe,后续的实验在该程序上继续进行。

  • 接下来进行Serial的破解。我们首先随便输入一串数字,点击确认按钮,查看变化。
    在这里插入图片描述
    图 12 出现提示框

  • 进行搜索查看“所有被引用的字符串”,输入“Try Again”进行搜索。
    在这里插入图片描述
    图 13 搜索结果

  • 发现失败的判断是由一个call 配合jnz 来实现跳转的,如果call后的结果ZF不为0则跳转到失败代码,如果为0则进入成功代码。
    在这里插入图片描述
    图 14 汇编代码

  • 进入call函数发现,其将我们所输入的字符串同一个给定的字符串进行比较,发现字符串为“Hello Dude!”
    在这里插入图片描述
    图 15 发现字符串

  • 我们将其输入,再次点击确认按钮,发现运行成功。
    在这里插入图片描述
    图 16 运行成功

  • 当然我们也可以从汇编代码入手实现修改,将条件判断转移换成直接跳转到正确代码段,随便输入字符串,发现无论输入什么都可以显示成功界面。
    在这里插入图片描述
    图 17 修改汇编代码
    在这里插入图片描述
    图 18 成功界面

  • 接下来是Serial/Name界面的破解。原理同上,我们先随便输入一段代码,进行测试,发现出现错误提示窗口,我们进行字符串搜索,查找相关地址,以及汇编代码。
    在这里插入图片描述
    图 19 查找结果
    在这里插入图片描述
    图 20 找到了相关地址
    在这里插入图片描述
    图 21 汇编代码

  • 我们通过对汇编代码的追踪,发现了用户名要4位,而serial为一串字符串。步骤同上,结果图如下。
    在这里插入图片描述
    图 22 serial比较

  • 通过观察分析得知,用户名只要是4位即可,serial需要为“CW-9758-CRACKED”。我们可以选择直接使用规范通过验证。
    在这里插入图片描述
    图 23 验证成功

  • 也可以将所有的条件跳转,变换成无条件跳转从而实现无论输入什么数值都可以通过验证,破解软件。
    在这里插入图片描述
    图 24 修改用户名判断
    在这里插入图片描述
    图 25 修改serial值判断
    在这里插入图片描述
    图 26 修改成功效果

  • 至此,Acid burn程序全部破解完毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值