下载此文档

深入理解计算机系统LAB2.docx


文档分类:资格/认证考试 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
LAB1实验报告
实验目的:
使用课程知识拆除一个“Binary Bombs”来增强对程序的机器级表示、汇编语言、调试器和逆向工程等理解。
实验简介:
一个“Binary Bombs”(二进***,简称炸弹)是一个Linux可执行C程序,包含phase1~phase6共6个阶段。炸弹运行各阶段要求输入一个字符串,若输入符合程序预期,该阶段炸弹被“拆除”,否则“爆炸”。实验目标是你需要拆除尽可能多的炸弹。
运行结果:
通关密码储存在0014301-。
成功运行结果截图:
实验中的六组密码:
PHASE1:字符串比较
本关比较简单,根据课件中的提示用GDB将最先压栈的那个字符串常量打印出来,然后将其作为密码输入,比较成功后即通关。
08048ab2 <phase_1>:
8048ab2: 83 ec 14 sub $0x14,%esp
8048ab5: 68 04 9f 04 08 push $0x8049f04
8048aba: ff 74 24 1c pushl 0x1c(%esp)
8048abe: e8 4d 04 00 00 call 8048f10 <strings_not_equal>
将地址0x8049f04中的值打印出来:
即“The future will be better tomorrow.”
PHASE2:循环
在查看汇编语言的时候,会看到有调用一个read_six_number函数,猜测此题是让输入六个数字。
08048ad3 <phase_2>:
8048ad3: 56 push %esi
8048ad4: 53 push %ebx
8048ad5: 83 ec 2c sub $0x2c,%esp
8048ad8: 8d 44 24 10 lea 0x10(%esp),%eax
8048adc: 50 push %eax
8048add: ff 74 24 3c pushl 0x3c(%esp)
8048ae1: e8 46 05 00 00 call 804902c <read_six_numbers>
8048ae6: 83 c4 10 add $0x10,%esp
8048ae9: 83 7c 24 08 01 cmpl $0x1,0x8(%esp)------à判定是否为1
8048aee: 74 1e je 8048b0e <phase_2+0x3b>
8048af0: e8 12 05 00 00 call 8049007 <explode_bomb>
8048af5: eb 17 jmp 8048b0e <phase_2+0x3b>
8048af7: 8b 03 mov (%ebx),%eax
8048af9: 01 c0 add %eax,%eax----à进行自加,扩大两倍
8048afb: 39 43 04 cmp %eax,0x4(%ebx)
8048afe: 74 05 je 8048b05 <phase_2+0x32>
8048b00: e8 02 05 00 00 call 8049007 <explode_bomb>
8048b05: 83 c3 04 add $0x4,%ebx
8048b08: 39 f3 cmp %esi,%ebx
8048b0a: 75 eb jne 8048af7 <phase_2+0x24>
8048b0c: eb 0a jmp 8048b18 <phase_2+0x45>
8048b0e: 8d 5c 24 08 lea 0x8(%esp),%ebx
8048b12: 8d 74 24 1c lea 0x1c(%esp),%esi
8048b16: eb df jmp 8048af7 <phase_2+0x24>à循环
8048b18: 83 c4 24 add $0x24,%esp
8048b1b: 5b pop %ebx
8048b1c: 5e pop %esi
8048b1d: c3 ret
有汇编语言进行分析,不难看出,这道题目要求输入六个数字,并且要求第一个数字为1,之后跳入一个循环,将第一个数字加倍和已有的数字进行比较,所以不难看出所需要的密码是1,2,4,8,16,32这六个数字。
PHASE3:条件分支语句
这道题的汇编语句明显变长了,但是由于PPT中已经提示这是条件分支语句,以此为切入点,此题也不难分析。
08048b1e <phase_3>:
8048b1e: 83 ec 1c sub $0x1c,%

深入理解计算机系统LAB2 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小112 KB
  • 时间2017-12-14