如果你比较细心的话,会发现在 phase_6 代码后面有个fun7函数,我们记得 phase_4 阶段调用过func4函数,所以这似乎是在强烈暗示我们暗雷会调用func7 这样找 fun7 实在是太麻烦了,能不能把整个可执行文件反汇编成汇编语言文件,然后用 VS Code 等编辑器阅读? 当然可以,使用命令objdump -d bomb >> bomb.s(如果没...
打开IDA,反汇编bomb.exe。可以看到如图 看到汇编代码,这里有一句string 内容是”Public speaking is very easy.”,然后将它放在ESP+4的位置,再将输入数据放在ESP的位置,调用_strings_not_equal方法,所以我们可以确定要输入的字符串是Public speaking is very easy.Phase 1解决。 Phase 2 打开IDA,选择phase2 的函数...
对于第一个炸弹,通过汇编发现他的汇编代码如上 bomb lab bomblab给出了bomb.c,bomb可执行文件,实验任务是拆炸弹,通过反汇编可执行文件得到的汇编代码判断分支转向,从而使程序不执行explode_bomb()。bomb.c文件代码如下: 从bomb.c文件中可以推断bomb程序的行为,读取一行字符串,然后执行对应的phase函数。执行以下命令...
为了完成二进制炸弹拆除任务,你需要使用gdb调试器和objdump来反汇编炸弹的可执行文件,并单步跟踪调试每一阶段的机器代码,从中理解每一汇编语言代码的行为或作用,进而设法“推断”出拆除炸弹所需的目标字符串。这可能需要你在每一阶段的开始代码前和引爆炸弹的函数前设置断点,以便于调试。