首页 > 移动平台 > 详细

Re-CSAPP(二进制炸弹)解析

时间:2020-03-14 15:40:48      阅读:124      评论:0      收藏:0      [点我收藏+]

文件来源 :http://files.cnblogs.com/remlostime/bomb.zip

 

一.解析工具

IDA Pro(64位)

Ubuntu

gdb调试工具

 

二.分析基本流程

首先用IDA打开,找到main函数,通过main函数的解析,可知大体流程为:

①初始化炸弹

②读取参数后进行判断是否为正确参数,否则引爆炸弹

③一共需要6次判断,即输入6次参数,每一次的判断都有特定的判断方式

技术分享图片

  

三.具体分析

①phase_1

首先来进行第一次的判断,运行该二进制文件后,出现以下提示

技术分享图片

可以先输入任意字符测试一下,例如

技术分享图片

炸弹引爆,程序结束,下面开始正式分析。

经过IDA分析,可以得到第一步思路,在phase_1这个函数上下断,因为执行完该函数,就出现了第一次判断结果

技术分享图片

输入任意字符后,发现在phase_1处断下,disass观察该处反汇编

技术分享图片

 标红区域为重点分析区域

首先,该函数push了两个参数,第一个是位于0x8049678地址的字符,第二个[ebp+0x8],学过C语言汇编的明白,这是第一个参数所在的地址

接着该函数又call一个函数,即<strings_not_equal>,可以判断这是一个比较函数,如果这两个字符串相等,则eax置零,成功实现跳转,跳到下一个判断函数,否则调用<explode_bomb>,引爆炸弹,程序结束。

于是,关键任务就是找出,0x8049678该处地址所存储的内容是什么,这一点,用IDA进行解决

技术分享图片

IDA已经给出答案,即0x8049678处所存的内容为The future will be better tomorrow.

输入程序中进行验证,得到正确结果,进入下一关

技术分享图片

 

 

 ==============================================================================

Re-CSAPP(二进制炸弹)解析

原文:https://www.cnblogs.com/Virus-Faker/p/12492225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!