网站大量收购独家精品文档,联系QQ:2885784924

计算机系统原理实验二进制炸弹实验报告.pdfVIP

计算机系统原理实验二进制炸弹实验报告.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

.

课程名称:计算机系统原理实验

实验课时:32课时

实验项目名称:BombLab二进制炸弹

实验材料:可执行文件bomb、源代码bomb.c、说明README

实验环境:Linux操作系统(安装虚拟机和Ubuntu)

实验工具:调试工具gdb

实验内容:程序运行中有6道关卡(phases),每道关卡需要用户在终端上输入特定的

字符串。输入正确则炸弹解除,错误则炸弹引爆。

实验方法:

1.将程序反汇编成汇编语言。

2.结合C语言文件找到每个关卡的入口函数。

3.然后分析汇编代码,找到每个phase中引导程序跳转到explode_bomb程序的地方。

4.分析其成功跳转的条件——以此为突破口寻找应该输入的字符串!

【实验分析】

预先准备

.

首先查看整个bomb.c的代码,发现整个炸弹组是由6个小炸弹(函数)组成的。整个

main函数比较简单,函数间变量几乎没有影响。因此,只需要依次解除6个小炸弹即可。

实验材料只有一个可执行文件,先把他用objdump-d反汇编得到汇编文件。打开文件

发现对应6个phase,对应的汇编文件十分长,因此我们直接步入phase部分。

一、phase_1:

1.利用gdb调试,gdbbomb

2.disassemblephaes_1

.

经分析,答案极有可能存放在0x804a15c处

3.可看汇编代码如上图所示,以下为栈帧的计算过程

.

4.我们看到如上图所示,调用了一个strings_not_equal函数,根据名字判断是

判断两个字符串是否相等。我们找到这个函数来验证我们的猜想是否正确:

5.在gdb下调试,设立断点,并检验

您可能关注的文档

文档评论(0)

百分卷 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档