本题前面读入两个整数的过程和phase_3相同,为便于分析逻辑可以直接替换变量名,容易转换为如下形式 phase_4(str){sscanf(str,"%d %d",a,b);if(a>15){explode_bomb();}ans=func4(a,0,15);if(ans!=0||b!=0){explode_bomb();}} 下面重点放在func4函数中,我们看到这个函数需要三个参数,分析函数后可...
一种方法是直接在终端里输入 "objdump -d bomb > bomb.txt", 直接把objdump的输出重定向到 bomb.txt 里,之后就可以直接在记事本里面看反汇编了;或者,先在终端里输入 "gdb bomb", 进到 gdb 里面;再输入 "disas phase_1", 就能看到 phase_1 的反汇编了。我们这里用第一种方法,最终在记事本里看到的结果...
实验二—BombLab 实验材料 一个能够运行的Linux或者Unix系统 官网的实习手册 实验规则 实验共有6个关卡,分别是phase_1到phase_6,对于每一个关卡,...
voidphase_2(){//Number in %rsp,Edge in %rbp,(%register)表示寻址得到的值if((%rsp)==1)//保证第一个数是1{gotoLabel_400f30;}Label_400f17:%eax=(%rbx-0x4);%eax=2*%eax;if((%rbx)!=%eax)//保证后一个数为前一个数的两倍{explode_bomb();}%rbx=%rbx+0x4;if(%rbx==%rbp){return;}...
CSAPP Lab:Bomb Lab——从拆弹到爆炸。。。 这个实验的要做的是用gdb逆向一段code,通过查看汇编代码以及单步调试找出这段code需要你填入的字符串,好像每个人都不一样,所以每个人都需要找到自己的拆弹密码,很有意思。 实验一共有6关,我们一关关来看一下:...
csapp深入理解计算机系统 bomb lab(1)phase_1 实验目的:进一步了解机器级代码,提高汇编语言、调试器和逆向工程等方面原理与技能的掌握。 实验环境:C、linux 实验获取:进入csapp官网,点击linux/x86-64 binary bomb下载实验压缩包。 实验说明:一共有6个关卡,每个关卡可以输入一串字符,只有输入正确才能拆出炸弹。
CSAPP Bomb Lab探究与解析 具备条件 这个实验比较有意思,如果你正在学习汇编,那么这是一个对你所学的一个很好考察 汇编与反汇编 GDB调试 耐心与仔细 实验介绍 要求:分析汇编代码,找出每一关符合要求的输入,拆除炸弹 程序下载地址:http://csapp.cs.cmu.edu/2e/labs.html...
bomblab的背景故事有趣,Dr. Evil将“二进制炸弹”植入教室电脑中。拆弹的关键是逆向“炸弹”,通过其中的汇编指令推测出可以安全拆解的语句。让我们看看文件夹内的内容:名为“bomb”的文件是核心“炸弹”;“bomb.c”是源代码,关键部分被删除,仅保留骨架。工具文件“gdbnotes-x86-64”提供了实验所...
实验概览,BombLab提供了一个仅包含未编译C文件bomb.c与目标代码文件bomb的挑战。运行bomb时,它要求输入六个字符串,错误输入会导致“炸弹爆炸”。目标是逆向分析程序,发现所需字符串以“拆除”炸弹。运行bomb文件后,提示输入内容。尝试后,“炸弹爆炸”。此环节是紧张的拆弹过程。实验细节包括对bomb.c...
实验说明 本实验通过逆向工程模拟解炸弹过程,共有六道锁,需逐一破解,最终解除炸弹威胁。可通过执行`./bomb`开始输入密码,或在文件中输入密码作为参数传递给`./bomb`,例如`./bomb passwords.txt`。在动手实验前,需仔细阅读实验说明,尤其重点阅读“提示”章节,这里提供一些指引。提供了一些官方文档的...