CSAPP二进制炸弹bomb实验报告.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

一定要记得!!!!开始,在bomb的地址设置一个断点,防爆!

Phase_1

Phase_1:

代码:

08048c10phase_1:

8048c10:83ec1csub$0x1c,%esp

8048c13:c7442404c49904movl$0x80499c4,0x4(%esp)

8048c1a:08

8048c1b:8b442420mov0x20(%esp),%eax

8048c1f:890424mov%eax,(%esp)

8048c22:e8dd030000call8049004strings_not_equal

8048c27:85c0test%eax,%eax

8048c29:7405je8048c30phase_1+0x20

8048c2b:e85b090000call804958bexplode_bomb

8048c30:83c41cadd$0x1c,%esp

8048c33:c3ret

从调用的函数“strings_not_equal”可以看出这是比较两个字符串的函数,字符串相

等,返回1,不等返回0.接下来对返回值进行test,并判断test结果是否为0,为零(字

符串相等)跳过bomb,否则(字符串不等)执行bomb。

strings_not_equal程序代码中我们可以看出是对%esp+4和%esp+8指向的内容进行比

较,在call指令会让%esp减4,因此对应到主函数就可以看出比较的是%esp和%esp+4指向

的内容。主函数中对应的就是“输入”和“0x80499c4地址中的内容”。

因此,只要保证输入内容等于0x80499c4地址中的内容,便能不引爆炸弹。

查找该0x80499c4中的内容:

得到之后运行程序并输入即可:

Phase_2

代码:

08048c34phase_2:

8048c34:56push%esi

8048c35:53push%ebx

8048c36:83ec34sub$0x34,%esp

8048c39:8d442418lea0x18(%esp),%eax

8048c3d:89442404mov%eax,0x4(%esp)

8048c41:8b442440mov0x40(%esp),%eax

8048c45:890424mov%eax,(%esp)

8048c48:e8430a0000call8049690read_six_numbers

8048c4d:8d5c241clea0x1c(%esp),%ebx

8048c51:8d742430lea0x30(%esp),%esi

8048c55:8b43fcmov-0x4(%ebx),%eax

8048c58:83c005add$0x5,%eax

8048c5b:3903cmp%eax,(%ebx)

8048c5d:7405je8048c64phase_2+0x30

8048c5f:e827090000call804958b

文档评论(0)

133****8840 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档