准备
当前许多逆向的writeup倾向于使用IDA-Pro, 而且似乎都依赖于F5(反编译的快捷键), 直接 从二进制文件转成了可读的C代码....我在Linux环境工作, 用到的几个工具如下:
radare2工具集(用于静态分析)
gdb(用于调试)
peda(一个gdb的插件)
目标准备
初步打算是这一系列逆向文章使用IOLI的crackme文件来作为目标...看到main函数的汇编代码了, 就开始分析了, 我不想像一些文章那样贴个图就说"显而易见, 这里的作用是XXX”, 毕竟我也只是个新手, 虽然这只是一个超简单的crackme, 但因为是第一次, 我还是把流程完整地走一遍...尤其是给变量/参数命名, 给函数/代码块命名, 这样会使得分析过程步步为营, 柳暗花明.
解法2: 修改程序
当我们能直接接触程序并且有修改权限时, 那么修改该二进制文件也是个快速通关的好办法!...刚刚bash脚本的输出告诉我们输入长为29字节的时候程序就崩溃了, 那么猜测29字节开始就覆盖了EIP, 但毕竟是猜测, 二进制的世界不接受模棱两可的答案!