Radare2 安装与卸载完整指南:从源码编译到彻底清除的 5 步教程
【免费下载链接】radare2UNIX-like reverse engineering framework and command-line toolset项目地址: https://gitcode.com/gh_mirrors/ra/radare2
Radare2 是一款面向逆向工程的命令行框架,集反汇编、调试、二进制修补等能力于一身。这篇文章按「选路线 → 安装 → 验证 → 版本管理 → 卸载」的完整生命周期,把 Radare2 的安装与卸载一步步讲透:每条命令干什么、为什么这么做、报错时往哪儿查。读完你无需再到处翻文档,自己就能装好、用好并干净地卸掉它。
开始之前:先确认机器具备编译条件 🧰
Radare2 是从 C 源码编译出来的,所以机器上至少要三样东西:
- git:用来拉取源码仓库
- C 编译器(gcc 或 clang):负责把源码编译成二进制
- GNU Make:构建的调度工具,Radare2 的安装脚本会先检查它是否存在,缺失会直接退出并提示
如果你没有系统管理员权限、或者不想把任何文件写进系统目录,往下看用户级安装那一步即可,全程不需要 root。
选哪条路线:1 分钟对比五种安装方式
不同需求对应的路线差别很大,先看这张表再动手,能少走弯路:
| 方式 | 适合谁 | 说明 |
|---|---|---|
./sys/install.sh一键脚本 | 大多数人的首选 | 自动拉依赖、编译、装到系统目录,最省事 |
./sys/user.sh用户级安装 | 无 root 权限、不想影响系统 | 装进你的主目录,只对当前用户生效 |
./configure && make传统流程 | 想逐步控制、按需加参数的人 | 配置、编译、安装三步分离,过程透明 |
| Meson 构建 | 已熟悉 Meson 工作流的团队 | 仓库自带 Meson 构建定义,现代化构建方式 |
| r2env | 需要多个版本并存、互相隔离的人 | 基于 pip,版本之间互不干扰 |
不想编译的话,也可以留意你所在系统软件源里是否有现成的预编译包,渠道因系统而异,这里不展开。下面正文默认走源码编译这条路,因为能拿到最新特性,也是官方文档的重点方式(详见 INSTALL.md)。
三步完成 Radare2 源码安装
第一步:克隆源码到本地
git clone https://gitcode.com/gh_mirrors/ra/radare2 cd radare2克隆完成后你就拥有了完整的 Radare2 源码树,后面的编译、卸载操作都以这个目录为起点。
第二步:用一键脚本编译并安装
./sys/install.sh执行后,sys/install.sh 会自动帮你做三件事:拉取构建所需的第三方依赖、编译全部模块、把可执行文件安装到系统目录。你只需要等它跑完,中途若提示需要权限,可加 sudo 执行(事后记得修复属主,见文末排坑一节)。
第三步(可选):不想动系统目录,就装到用户目录
./sys/user.sh这条命令会把 Radare2 装进你的主目录(~/.local)下,不碰系统目录,对其他用户零影响,非常适合共享机器或没有管理员权限的场景。
不用一键脚本:两种手动构建流程
传统流程:configure 配置 + make 编译
./configure make sudo make install./configure:探测你的平台并生成构建配置,想定制选项时就是在这一步加参数make:照着配置逐个编译 libr、binr 等模块sudo make install:把编译产物安装到系统目录
三步分离的好处是每步都能停下来检查,出错时也容易定位在哪一环。
用 Meson 构建 Radare2
meson setup build meson compile -C build仓库里自带 Meson 构建定义,第一条命令初始化名为 build 的构建目录,第二条在该目录里完成编译,产物在build/中即可取用,可选项参考 meson_options.txt。
如何验证 Radare2 安装成功
最直接的确认方式是让它报出自己的版本:
r2 -v这条命令会打印版本信息并退出;加上-q则只输出版本号,方便在脚本里使用(r2 -qv)。只要正常打印出版本号,说明可执行文件已经在 PATH 里可用了。
接下来可以随便打开一个二进制文件,进入交互界面看看反汇编效果:
如上图,左侧是寄存器与文件信息面板,中间是反汇编代码,右侧是函数列表——能看到这个界面,说明安装、插件、解析链路都工作正常。
用 r2env 同时管理多个 Radare2 版本 📦
直接把多个版本往系统目录里装,后者会覆盖前者的可执行文件,很难同时使用。r2env 的思路是为每个版本建一套隔离环境,互不干扰:
pip install r2env r2env init r2env add radare2@git第一行通过 pip 安装 r2env 工具;第二行在当前目录初始化环境;第三行添加一个跟踪 git 源码的版本。以后想在不同版本之间切换,只需在 r2env 内操作,不必反复卸载重装,也避免了版本冲突。
如何彻底清除 Radare2:四条命令各管什么 🧹
卸载命令都需在 Radare2 源码目录下运行(前三条依赖构建系统),作用范围从小到大排列:
| 命令 | 作用 |
|---|---|
make uninstall | 只移除已安装到系统目录的程序文件,最基础的卸载 |
make purge | 在 uninstall 基础上,连文档和开发残留一起清掉(构建系统将其定义为 purge-doc + purge-dev + uninstall) |
make system-purge | 在 purge 之上再做系统级彻底清除,适合装得久、想清干净的场景 |
git clean -xdf | 清理源码树里的构建产物和未跟踪文件,让目录回到接近克隆时的状态 |
如果你还要把源码目录彻底清空,执行git clean -xdf后删掉该目录即可。注意第三方依赖是拉取到 subprojects/ 目录的,git clean -xdf会一并清理这些构建残留。
安装报错怎么办:权限与依赖两个常见坑
权限坑:如果你用 sudo 编译过,源码目录里的文件属主会变成 root,之后清理、重建都会报权限错误。回到源码目录修复属主:
sudo chown -R $USER .依赖坑:编译中途报缺少工具或头文件,通常是基础工具链不全,先把 gcc、make、git 装齐再重来。用户级安装脚本 sys/user.sh 在启动时就会检查 GNU Make,缺失会明确提示,这类"前置失败"比编译到一半报错好处理得多。
依赖拉取失败大多与网络有关,重新执行安装脚本即可继续。
【免费下载链接】radare2UNIX-like reverse engineering framework and command-line toolset项目地址: https://gitcode.com/gh_mirrors/ra/radare2
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考