实验 2 :Bomb Lab

2022-05-06 15:58:47 浏览数 (1)

炸弹 1

首先查看炸弹

1

的代码部分,发现是由 phase_1 函数来运行炸弹

对 phase_1 函数使用 gdb 反汇编:

代码语言:javascript复制
disassemble phase_1

得到 phase_1 函数的汇编代码

发现该函数通过调用 strings_not_equal 函数后进行判断,接着进行反汇编:

代码语言:javascript复制
disassemble strings_not_equal

查看代码后,发现这个函数是判断两个字符串是否相同,在这个函数的位置打上断点,并运行程序,任意输入字符串:

代码语言:javascript复制
break strings_not_equal
r

此时我们查看寄存器的值:

代码语言:javascript复制
p (char*)($rsi)
p (char*)($rdi)

得到下列结果:

从而得到炸弹 1的答案为 Border relations with Canada have never been better.

0 人点赞