实验3 逆向工程实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:计算机系统(2)

实验项目名称:逆向工程实验

学院:

专业:

指导教师:罗秋明

报告人:学号:班级:

实验时间:2017年4月14日

实验报告提交时间:2017年5月8日

教务处制

一、实验目标:

熟悉Linux中C程序编译成可执行目标文件的过程,包括以下内容:

1. 了解Linux编译系统四个阶段(预处理器、编译器、汇编器和链接器);用编译工具vi/vim的编写程序,并用gcc上实现这四个选项;观察并说明他们的区别和不同;最后对*.o文件进行反汇编

4.完成bomb实验。

二、实验环境:

1.计算机(Intel CPU)

2.Fedora 13 Linux操作系统

3.gcc、vi/vim

4.gdb

三、实验内容与步骤

1.1根据实验一:在已创建用户的用户下面进行操作(用户名为学生名称加学号,

如赖丹辉,学号2013150040,则该用户名为Laidanhui_2013150040)。在vi/vim 里面编写code.c文件,如有警告信息,请修改代码至无警告信息。

1.2预编译器:会对各种预处理指令(#include #define #ifdef 等#开始的代码行)进行

处理,删除注释和多余的空白字符,生成一份新的代码(5分)

[root@wahoo test]#gcc -E code.c -o code.i

E 参数通知gcc对目标文件进行预编译,这里是对文件code.c文件

o 参数是对命令输出结果进行导入操作,这里是把 gcc -E code.c 操作结果输出到文件code.i(命名要自定义)中进行保存

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.3编译器:对代码进行语法、语义分析和错误判断,生成汇编代码文件(5分)[root@wahoo test]#gcc -S code.i -o code.s

S 参数通知gcc对目标文件进行编译,这里是对文件code.i文件,通过vi打开。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.4汇编器:把汇编代码转换与计算机可认识的二进制文件(5分)

[root@wahoo test]#gcc -c code.s -o code.o

c 参数通知gcc对目标文件执行指令转换操作

此步骤我们得到文件code.o

大家也同样打开文件查看一下,这个文件里面几乎没几个字符大家能看懂,这就对了,但大家可以通过这种方法将其转化为我们可读的形式:

[root@wahoo test]#readelf -a code.o

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.5链接器:就是把多个*.o文件合并成一个可执行文件,二进制指令文件(5分)[root@wahoo test]#gcc code.o -o code

这里我们就得到了一个可以直接在系统下执行的文件code

再用readelf语句打开。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.6分析步骤4和步骤5生成文件的区别,并进行阐述(5分)

1.7反汇编器并显示:要查看目标代码文件的内容,最有价值的就是使用反汇编

器,在Linux中我们常用objdump语句进行反汇编(5分)

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

[root@wahoo test]#objdump -d code

显示结果

2

、本实验是解除二进制炸弹。给你一个二进制可执行文件,运行该文件,你需

要在没有任何提示的情况下输入6个password ,如果都输入正确,则炸弹被解除(完成了实验);如果输入错误,则炸弹爆炸(当然不是真爆炸了,需要重做)。从计算机的角度来描述,就是通过二进制文件分析这个程序作了些什么。由于我们有反汇编工具,也可以说是通过汇编程序,分析这个程序作了什么。本实验的目的是理解汇编语言和掌握调试工具gdb 。

具体来说,本实验给出一个二进制可执行文件bomb 。运行./bomb ,被要求输入password ,我随意输入“abc ”,当然不正确。提示我已经失败了,退出程序。

当我输入正确的时,就可以通关:

本实验要求解决Phase_1(15分)、Phase_2(10分)、Phase_3(10分)、Phase_4(10分)、Phase_5(10分)。通过截图把结果写在实验报告上。

四、实验结果

第一部分:

1.2

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.3

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.4

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

1.5

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

相关文档
最新文档