纯ida使用案例,逆向Acid_burn实验报告,超详细解析。

7 篇文章 6 订阅
2 篇文章 2 订阅

本文涉及到了纯ida 使用案例,逆向Acid_burn报告,通过使用ida直接修改汇编指令,或修改机器码,将补丁应用到输入文件中,超详细解析。

如果有帮到大家,哥哥姐姐不要吝啬点个关注呗!后续会更新更多其他有关汇编,逆向和web的实操超详细解析。谢谢大家!

一、分析软件

当我们点击该程序的时候会弹出一个窗口,这个窗口需要进行去除。

b4b1acd52a2143ab8ee37bdeeb8714fc.png

点击确定之后进入程序的主窗口,发现有两个按钮根据按钮上的字符串判断出应该是需要输入序列号和名称的位置。

83542819205f4996927703bf5de5386e.png

 我们首先来看左下角的按钮,点击发现有两个输入框,分别是输入用户名和序列码,然后点击Check it Baby 就会发现程序进行检查,检查错误就会弹出窗口里面的内容是:Sorry ,the serial is incorect ! 这个位置也是一个要破的点。

 

3848ed0f0ee04ca187a15fa4f5f95a21.png

接下来我们进行返回来查看右边按钮的情况,点击之后发现有一个输入框,是提醒你输入序列码的,我们进行输入,然后点击Check it Baby,程序进行检查,检查失败会弹出下面窗口,内容为:Try Again!!,发现这也是一个我们需要破的一个窗口。

b08776c4539d42febfca6356344e5ec2.png

 

二、破弹窗

我们将Acid_burn可执行文件附加到IDA中。

baad39e93ba64c45bfe25a281cca13a8.png

直接默认选项即可

   1b86599c650d416593776ec850dc94fd.png

按空格切换视图

 

点击alt+t,查找字符串you have to kill me

66b4d115eb6c45458c4e2ef002aef557.png

 

点击该行代码出现详细代码。

 

23c4f47db63d4bd3a14f71faa2a060d3.png

791493dac80d4df49a52347df2530e51.png

这里点击General,然后

96affc50a0a54018a2e54c7b2ce813cf.png

全部打钩方便我们后续观察

 

我们找到弹窗代码后,用空指令替换该弹窗指令或者将第一行代码使用RETN指令替换,即可成功跳过弹窗。在执行到弹窗函数之前会做一个je判断,如果zf=1,则跳转;zf=0则不跳转,这里我们使用暴力破的方式直接jmp过来,跳过弹窗函数。

这里演示一直修改方式

修改第一行代码为retn指令

 

f0540e2af98d4c0a8b254d3ddca66afe.png

点击选中该地址,然后点击hex view

e69250c532ae40799b703b73dc4b492e.png

发现该指令对应的机器码,同理可知retn的机器码为C3

664f84b2827c4177a85fdaf6ee900222.png

右键选择edit,编辑

88e7628874594b338c2e6ed930c8d4dd.png

修改好后继续右键,应用修改

37e476dcd6294e169c80f01885e0107f.png

最后点击Edit > Patch program > Apply pathes to input file > OK

433bd1e05c7e4caca09097d533461ef9.png

将补丁应用到输入文件中

d72f129e93434392a14cb5f02466310b.png

这里推荐创建备份

2d203ea292f84efab3f61b2da5e1d2c3.png

打开新保存的程序,已经没有弹窗了

97fc7dc110cd440ebea629ca29fec95b.png

 

三、破登录入口

接下来进行登录的,当序列号输入错误时,弹出对话框”Sorry, The serial is incorrect"

这次我们换个方法,按Shift+F12 跳转到字符串窗口

262da02c2c50494da1a74c61b49cd3ca.png

可以很简单的找到他,双击跳转

a02d40f0b57749229d2f1ba4577085fa.png

按空格切换视图后有助于我们分析

3e56aaa3b51a4587b43830e931464652.png

如果上一个call函数,执行后ZF=1,不跳转;ZF=0,则跳转。

这里呢,我们采用暴力破的方式,这里呢不能让指令跳转,所以我们修改jnz指令,破坏它的判断条件,改为jz。或者用nop填充他,使其失效。这里我们继续演示和上面不一样的方法。

e448172d3840419a8962ab701b65dbf3.png

点击Edit > Patch program > Assemble

47822196e997407c92d4a4721b3d35d0.png

6e388d3913fd4631955c5be09a1d4a72.png

1f2a3ccdfbfc41b88b012295f7b701e5.png

然后点击Edit > Patch program > Apply pathes to input file > OK

修改程序

51ac0adcc142498191c832c95d772a4e.png

657a249d32f84fdeb03fab082ed74298.png

运行程序

4cf5dbb498bd4827b6914869c82eaba7.png

成功!

四、破序列号

c461e7b7170340a58bc9fd527f37df94.png

根据上述操作,找到关键词Try Again!!,双击

bfc2ce93c9e24fee9824245a4231422b.png

双击黄色部分,找到被引用的地方

6299f4fa0b37425492d9eb3b3da26b35.png

dff6a026124146588c357e888daad801.png

和上一个一样的关键词,咱们进行同样的操作。

1419d98d20b24572b9a7a0cf8d7641e2.png

73ae7b3fb6c54e808bb06f6ea9e18503.png成功!

 

  

 

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值