Radare2 是个纯命令行的逆向分析框架,打开二进制文件就能看它的结构、函数和反汇编,还能挂调试器单步跟。没有图形界面也能干活,脚本化批处理也方便。
用法就三步:带文件启动,进去先跑一次自动分析,然后用命令在函数和地址之间跳着看。常按的就那几个命令:afl 列函数,s 定位,pdf 打印当前函数的反汇编,iz 看字符串,q 退出。
最小示例:
r2 -e scr.color=0 ./demo # 打开目标程序
aaa # 自动分析符号、函数、交叉引用
afl # 列出识别到的函数
s main # 把当前位置跳到 main
aaa 里的 pdf # 打印 main 的反汇编
iz # 列出程序里的字符串
q # 退出
照着敲一遍,屏幕上就是 main 的汇编代码,函数名和调用关系也能顺着看。
最容易踩的两个坑:一是不跑 aaa 就直接 pdf,函数名全是 sub_xxx,交叉引用也是空的,看着像工具坏了;二是 s 跳转后没确认当前地址,pdf 打出来的是别的函数,先 axt 或 afl 把名字核对一下再往下看。