- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bomblab实验报告的
课程实验报告
课 程 名 称: 计算机组成与结构
实验项目名称: bomb
专 业 班 级: 通信1301班
名:
学 号:
指 导 教 师:
完 成 时 间: 2015 年 5 月 9 日
计算机科学与工程系
1
实验题目:bomb
实验目的:熟悉汇编程序及其调试方法(gdb工具)。
实验环境:个人电脑、linux发行版本。
实验内容及操作步骤:
第一步:
·反汇编bomb 生成汇编代码(输出到out 文件);
·指令:objdump-dbombout。
第二步:
·调试:gdbbomb;
·阅读第一步生成的out 文件中的汇编代码,分别破解phase_1至
phase_6;
·查看某地址内容指令:
1.查看内存地址中的内容:x/n/f/uaddr,n 为内存长度,f 为显示
格式,u 为从当前地址往后请求的字节数(GDB默认4 个bytes),addr
表示某个内存地址;
2.输出内存地址内容:p/f*addr (f表示格式,addr表示地址);
3.运行:(gdb)r;
·思路及实践过程如下:
*********************************phase-1********************************
2
*************************查看某地址单元的字符串************************
·帧栈指针%ebp和%esp用来传递或读取参数(其在phase2-6中作用相同);
·从第9行的string_not_equal可以推断出本程序为比较两个字符串是否
相等的程序,注意到第5行%esp读取了地址0x804a15c 的内容,查看该地
址内容,发现该地址存储字符串:Wehavetostandwith ourNorthKorean
allies.;
·对于第8、10和11行,寄存器%eax 中存储string_not_equal函数的返
回值,当%eax 中存储的值为0 时,程序正确运行,从而验证上述想法,因
此可以猜测本题的答案为上述字符串;
·查看该地址内容指令:p(char*)0x804a15c。
*********************************phase-2********************************
3
*******************************Fibonacci序列******************************
·当由第11行的read_six_number可知,该程序读取了六个数,综合整
体代码可推测,答案就是确定这六个数(x1-x6);
·核心代码从第12行开始,-0x20(%ebp)存x1,-0x1c(%ebp)存x2,依次类
推。由第12,13行代码可知x1=0,第14和第15行得x2=1;
·第17行初始化寄存器%ebx 的地址(lea指令)为-0x18(%ebp)的地址,
也就是x3 的地址,%esi 的地址为-0x8(%ebp)的地址,即x6 的上一个地址单
元,%eax保存x1和x2 的和,结果必须与%ebx 的值(x3)相等,再将ebx
加4 (即指向x4),依次循环。循环终止条件为%esi=%ebx,即两者都指向
x6 的上一个内存单元;
·因此结果为:011235 (fibonacci数列的前6项)。
4
*********************************phase-3********************************
******************************Switch分支结构*****************************
您可能关注的文档
- ANSYS中混凝土的计说你问题.doc
- ANSYS加载与求解的.ppt
- ansys学习3的.ppt
- ANSYS材料模型的.doc
- ansys第六章通用后吹摩理.ppt
- ANSYS网格划分(详细的版).ppt
- ansys后处理及问题坏你总.doc
- ANSYS轴对称问题实赖凝.ppt
- ansys耦合和约束方车奶教程.ppt
- AOD余热回收装置的.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)