用途:面向 radare2 命令行工具完成二进制分析,适合不依赖 IDE 的终端侦察、可脚本化反汇编、二进制对比和小型补丁。适用文件包括 exe、dll、so、elf、apk、dex、wasm 等。若明确需要 GUI 逆向、Hex-Rays 风格伪代码或 IDA 工作流,应改用 ida-reverse;网页 JS 逆向属于 reverse-engineering 范围。
环境确认:先执行 r2 -v 与 rabin2 -v,不要假设已安装。Windows 常见可执行文件包括 radare2.exe、rabin2.exe、rasm2.exe、radiff2.exe、rahash2.exe、rax2.exe、r2pm.exe。缺少 radare2 时入口脚本会尝试从 GitHub Release ZIP(w64)自动下载并解压到 %USERPROFILE%\Tools\radare2\;失败时抛错并附手动安装链接,需将 bin\ 加入 PATH。
主要能力与用法:先侦察后深挖。rabin2 -I 看基本信息,rabin2 -z 看字符串,rabin2 -i 看导入,rabin2 -E 看导出,rabin2 -S 看节区,rabin2 -s 看符号。交互分析用 r2 <file>,常用 aaa、afl、iz、iS、is、s entry0、pdf、VV、q。定位关键逻辑可用 afl~main、iz~http、axt <addr>。非交互自动化可用 r2 -A -q -c "afl;iz;ii;q" <file>。子工具:rasm2 -d "9090"、rasm2 -a x86 -b 64 "xor eax, eax" 用于汇编/反汇编;radiff2 old.exe new.exe 与 radiff2 -C 用于对比;rahash2 -a md5/sha256 算哈希;rax2 做进制与编码转换。
修改限制:默认只读打开 r2 <file>,仅在明确需要修改时用 r2 -w 或 oo+;写操作如 wa、wx、wq,修改前应备份并告知风险。脚本资源 scripts/recon.ps1 与 references/cheatsheet.md 需从上游来源获取,缺失时不得伪造或声称已执行;本目录未提供正文中的支持文件。已知 Windows 下偶发 .sdb 缺失告警,若主体输出正常通常不影响基础侦察。
学习曲线较陡、命令简洁,高层反编译可读性需 r2ghidra/pdc 插件。文档要求先完成导入表检查并落 Evidence 再进入深挖;IAT 修复失败应记录并转动态分析,64 位样本不宜只用 ImportREC。radare2-skills 生态还提供 r2xsql、r2mcp/r2http、radius2、r2pm 等工具。