炸弹 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.