if(len != 2) explode_bomb(); if(num1 > 14) explode_bomb(); // 看来重点在fun4中 int ret = fun4(num1, 0, 14); if(ret != 0) explode_bomb(); if(num2 != 0) explode_bomb(); return; } 由上述汇编可以看出,决定性的内容在func4中,让我们再看看fun4中写了些什么? /* 0x400fc...
wget https://gitee.com/lin-xi-269/csapplab/raw/master/lab2bomb/installCgdb.sh bash installCgdb.sh 即可安装好 之后你可以 cgdb ./bomb 就可以看到调试页面,和gdb调试完全一样,可以理解为 vim + gdb,之后你打一个断点之后run后 一直stepi就会看到汇编指令了。(其实也可以apt-get install cgdb,但是那个...
CSAPP-Bomb Lab 这个实验的逻辑是这样的 需要使用gdb debug 进入到phase_x的各个函数,但是单步调试step是进不去的(也不难理解,如果gdb可以直接进入那这个实验还有什么难点) 但是反汇编得到的结果是全部的内容,通过阅读反汇编代码,找到一些关键节点,通过gdb对二进制进行dubug添加breakpoint从而查看一些内容找到结果 objdum...
CSAPP Lab:Bomb Lab——从拆弹到爆炸。。。 这个实验的要做的是用gdb逆向一段code,通过查看汇编代码以及单步调试找出这段code需要你填入的字符串,好像每个人都不一样,所以每个人都需要找到自己的拆弹密码,很有意思。 实验一共有6关,我们一关关来看一下: phase_1 打开bomb.c看些c源码(这里的核心方法已经被删...
【摘要】 这篇博文深入探讨了CSAPP(Computer Systems: A Programmer's Perspective)课程中的BombLab实验,聚焦于Secret_phase的解密与实战。作者通过对实验环境、逆向分析和程序攻击的详细讲解,揭示了解除炸弹背后的深奥机制。文章通过生动的案例和实战经验,引领读者深入理解计算机系统底层原理与程序设计之间的精妙关系。
下载bomblab压缩包并输入 tar –xvf bomb.tar 进行解压缩,进入该目录所有文件如下所示: 在终端输入 sudo apt-get install gdb 安装调试器。基本用法参考下图: 实验过程阶段: “Binary bombs”是一个可在Linux系统上运行的C程序,它由6个不同的阶段(phase1~phase6)组成。在每个阶段,程序会要求输入一个特定的字符...
简介:【CSAPP】探究BombLab奥秘:Secret_phase的解密与实战 🌺1. CSAPP与Bomb简介 🍀1.1 CSAPP 《CSAPP》是指计算机系统基础课程的经典教材《Computer Systems: A Programmer's Perspective》,由Randal E. Bryant和David R. O'Hallaron编写。该书的主要目标是帮助深入理解计算机系统的工作原理,包括硬件和软件的相互...
先运行bomb文件,提示没有权限,我的文件是从windwos拷贝到Linux虚拟机中的,所以会报这个错误。执行chmod +777 bomb 赋予权限。如下图所示。 然后随便输入一些内容看下会有什么后果,如下图所示,提示已经爆炸。 phase_1 下面从main函数开始分析下反汇编。
Bomb是一个二进制炸弹,拆除他需要分别输入六条命令,一旦输入错误就会爆炸。在bomb.c文件中可以看到有6个phase,每个phase的输入是一条字符串,所以关键就是通过分析phase的内容来判断我们应该输入的字符串是什么。 理论上通过阅读汇编代码就可以找到答案,前3题或许可以,后边的题目就有点难度了。熟练使用gdb也是这个lab很...
为了深入理解与解决BOMB LAB环境中的问题,首先需要设置开发环境。建议创建一个名为"lab2bomblab"的文件夹,并通过运行以下命令下载lab的所有最新资料和中文版pdf翻译:之后,进入"bomb"目录,执行第一步反汇编操作。为了更方便地调试,可以安装cgdb工具,此工具在显示命令执行位置时兼具gdb与vim的优点。在...