
Radare2 逆向工程完整指南从环境准备到第一次分析二进制【免费下载链接】radare2UNIX-like reverse engineering framework and command-line toolset项目地址: https://gitcode.com/gh_mirrors/ra/radare2Radare2 是一个跨平台的命令行逆向工程框架集反汇编、二进制分析、调试与修补于一体常用于恶意软件分析和可执行文件结构探索。本文将按准备环境 → 选对安装方式 → 跑通第一个分析 → 故障排查的顺序带你完整上手命令都以短示例为主看完即可在本地跑通一次完整的分析流程。 先搞清 Radare2 能帮你做什么Radare2 的主程序是r2也常写作radare2它把逆向工程里的高频动作都做成了短命令。上表列出的就是分析一个二进制时最常用的几条命令作用aaa对当前文件做自动分析识别函数、基本块和跳转pdf main反汇编并显示main函数的完整汇编afl列出分析出的所有函数iS查看文件的段section信息wx/wv写入字节、查看内存用于修补二进制除交互式终端外它还提供rabin2二进制信息、rasm2汇编/反汇编、radiff2二进制差分等独立工具适合写脚本做自动化分析。Radare2 交互界面左侧是寄存器与文件浏览面板中间为反汇编区右侧是函数列表与图形视图 安装前的环境准备缺了什么编译器Radare2 需要从头编译无论选哪种安装方式机器上都得先有完整的工具链。按发行版准备即可系统需要准备的依赖Ubuntu / Debiansudo apt-get install build-essential gitFedora / RHELsudo dnf groupinstall Development Tools再安装gitmacOSxcode-select --install工具链齐了之后把源码拉下来git clone https://gitcode.com/gh_mirrors/ra/radare2 cd radare2后面的所有命令都在radare2目录内执行。 按场景选安装方式从一键脚本到多版本管理一键系统级安装最常用普通用户推荐直接跑仓库自带的安装脚本 sys/install.sh。它会检测环境、编译全部组件并创建符号链接让r2等命令在系统范围内可用./sys/install.sh跑完就能在任意目录直接执行r2这是最省事的路径。没有管理员权限用户目录安装在共享机器或公司电脑上不方便用sudo时改用 sys/user.sh 把 Radare2 装进用户主目录~/.local下不触碰系统目录也不影响其他用户./sys/user.sh对应的卸载入口是 sys/user-uninstall.sh。多版本共存用 r2env 管理需要同时挂着开发版和某个旧版本时用 Python 的r2env工具隔离各版本避免符号链接互相覆盖pip install r2env r2env init r2env add radare2git之后在不同项目里各用各的版本即可具体用法见 INSTALL.md 中的说明。自定义构建configure 与 Meson 两条路如果默认脚本不满足需求比如指定安装前缀、裁剪架构支持可以走标准构建系统二选一# 传统方式 ./configure --prefix/usr/local make sudo make install# Meson 方式 meson setup build meson compile -C build meson install -C build所有可配置项启用哪些架构、插件、优化级别等都列在 meson_options.txt 里配置前先看一遍能少走弯路。 首次运行的最小闭环三行命令分析第一个二进制用一个最小的 C 程序验证整条链路——编译、分析、看函数echo int main() { return 42; } test.c gcc -o test test.c r2 -AAA ./test-AAA参数会跳过交互直接完成自动分析。进入交互模式后试试这几条[0x0000xxxx] aaa # 重新执行自动分析 [0x0000xxxx] afl # 列出所有识别到的函数 [0x0000xxxx] pdf main # 反汇编 main 函数 [0x0000xxxx] q # 退出不想进交互模式时也可以用单命令模式一次性拿结果方便嵌进脚本r2 -v # 确认版本 r2 -qc afl ./test # 直接打印函数列表后退出能列出main函数及其汇编说明安装与分析链路都通了。 高频故障速查权限、编译失败与彻底卸载现象先查什么处理方式提示权限不足permission denied源码目录归属、目标安装路径是否可写sudo chown -R $(whoami) .修正归属或改用sys/user.sh走用户级安装报找不到编译器/头文件工具链是否装全按上表补齐build-essential或 Development Tools编译中途失败、缓存残留之前是否有半成品构建先make clean仍不行就git clean -xdf清掉全部未跟踪文件后重来机器上多个版本互相干扰which r2指向的是哪个目录用r2env做版本隔离想彻底移除当初用哪种方式装的见下方卸载清单卸载按当初的安装路径对应执行make uninstall # 移除当前这次安装 make purge # 清除历史残留 make system-purge # 系统级彻底清理用户级安装则直接运行./sys/user-uninstall.sh。️ 进阶方向与项目资源索引跑通最小闭环之后按下面的索引按需深入doc/各架构与专题的逆向指南iOS、Android、Windows、ESIL 等排查特定平台问题时优先翻这里man/radare2、rabin2、rasm2等全部命令行工具的手册页test/db/上千条命令测试用例是学习命令写法的最快语料库scripts/官方维护的分析脚本包括 r2sptrace.py 这类配合 r2pipe 做 Python 自动化的示例libr/库源码想写自定义插件如新的架构支持或调试后端就从libr/arch、libr/debug的插件目录看起subprojects/capstone、sdb 等依赖子项目的位置排查依赖构建问题时来这里收尾Radare2 的核心价值在于一条命令行覆盖分析、调试、修补命令短、可脚本化适合把逆向流程嵌进日常工具链。建议的路径是先用sys/install.sh装一个能用的版本用本文的三行闭环验证环境之后每次遇到新命令就去man/和test/db/里对照查比啃长文档效率高得多。【免费下载链接】radare2UNIX-like reverse engineering framework and command-line toolset项目地址: https://gitcode.com/gh_mirrors/ra/radare2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考