升入理解计算机系统BombLAB实验报告讲述.doc

升入理解计算机系统BombLAB实验报告讲述.doc

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

湖南大学课程实验报告 课 程 名 称: 计算机组成与结构 实验项目名称: 二进制炸弹 专 业 班 级: 姓 名: 学 号: 指 导 教 师: 完 成 时 间: 计算机科学与工程系 实验题目: APP Bomb Lab实验目的: 实验环境: linux,终端,gdb工具实验内容及操作步骤: 查看给出的bomb.c中的代码,得知控制检测密码正误的6个函数分别为: phase_1,phase_2,phase_3,phase_4,phase_5,phase_6。 使用gbd工具对可执行文件bomb进行反汇编: 得到六段汇编代码,将其复制成文本后,对其进行分析, phase_1代码: 0x08048f61 +0: push %ebp 0x08048f62 +1: mov %esp,%ebp 0x08048f64 +3: sub $0x18,%esp 0x08048f67 +6: movl $0x804a15c,0x4(%esp) 将esp寄存器地址指向$0x804a15c 0x08048f6f +14: mov 0x8(%ebp),%eax 将$0x804a15c中的数据移给eax寄存器 0x08048f72 +17: mov %eax,(%esp) 0x08048f75 +20: call 0x8048fab strings_not_equal 0x08048f7a +25: test %eax,%eax 上一行与这一行比较用户输入和$0x804a15c中的值 0x08048f7c +27: je 0x8048f83 phase_1+34 0x08048f7e +29: call 0x80490d1 explode_bomb 0x08048f83 +34: leave 0x08048f84 +35: ret 可以看出,phase_1的密码是固定储存在$0x804a15c中的。令$0x804a15c中的数据与用户输入的数据比较,若相同则跳过explode_bomb,避开炸弹。用命令x/s 0x804a15c查看其中的数据如下 因此知道第一个密码为:We have to stand with our North Korean allies. phase_2代码: 0x08048d6a +0: push %ebp 0x08048d6b +1: mov %esp,%ebp 0x08048d6d +3: push %esi 0x08048d6e +4: push %ebx 0x08048d6f +5: sub $0x30,%esp 0x08048d72 +8: lea -0x20(%ebp),%eax 0x08048d75 +11: mov %eax,0x4(%esp) 0x08048d79 +15: mov 0x8(%ebp),%eax 0x08048d7c +18: mov %eax,(%esp) 0x08048d7f +21: call 0x804910b read_six_numbers 读取六个数字 0x08048d84 +26: cmpl $0x0,-0x20(%ebp) 0和第一个数字比较,不相等则爆炸。 0x08048d88 +30: jne 0x8048d90 phase_2+38 0x08048d8a +32: cmpl $0x1,-0x1c(%ebp) 1和第二个数字比较,相等则跳过爆炸。 0x08048d8e +36: je 0x8048d95 phase_2+43 0x08048d90 +38: call 0x80490d1 explode_bomb 0x08048d95 +43: lea -0x18(%ebp),%ebx ebx指向第三个数字。 0x08048d98 +46: lea -0x8(%ebp),%esi esi指向第六个数字再向后移一位的地址。 0x08048d9b +49:

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档