Cracking the Safes之Linux系统下gdb调试

Cracking Safe是什么

挑战是找出四个保险箱中每个保险箱预期的正确的5个输入集。在运行二进制安全程序时,您需要一次输入一个猜测,如下所示:
Cracking the Safes之Linux系统下gdb调试_第1张图片
其实,就是输入5次,程序会对输入内容进行判断,只有符合程序要求才能成功,任务就是逆向找到正确的字符串!!!

解题思路

  • 反汇编并保存每个可执行文件的输出。
    objdump -M intel -D
    如果您还需要英特尔助记符代码(而不是AT&T助记符代码),您可以使用:
    objdump -M intel intel-mnemonic -D
    例如:objdump -M intel -D s1.dat > s1.asm
  • 在您选择的文本编辑器中打开反汇编的程序集文件。
  • 搜索“main”函数–它将被标记为“main”。
  • 在Main中,尝试了解每条语句或一组语句正在做什么。

核心在于比较语句,也就是CMP XX,XX,找到CMP语句后,查看附近语句或函数的返回值,即可找到答案!

①运行程序,在main处下断(b main),从导出的asm文件找到CMP语句附近的

你可能感兴趣的:(通信杂记和Windows逆向,Crack,Safe,linux,gdb,objdump)