# r2pipe radare2 多语言脚本接口

> radare2 官方的脚本接口，同一仓库内收录了二十多种语言的实现。所有绑定都向 radare2 发送命令字符串并返回其文本输出，这正是 r_core_cmd_str() 背后的设计；README 建议请求 JSON 输出并将其解码为本地语言对象，而不是直接调用 C API。绑定可经由从 r2 内部运行脚本时的 R2PIPE_IN/R2PIPE_OUT 管道、新启动的 r2 -q0 进程、TCP、HTTP 或 radare2 自有的 RAP 协议连接，其中许多支持异步调用；r2pipe 脚本还可用于实现反汇编器、IO 后端或 ESIL 系统调用处理器等 radare2 插件。

- 类型：工具
- 目标：二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/radareorg/radare2-r2pipe>
- 一手来源：<https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/r2pipe/>
- 记录 JSON：<https://awesomerea.org/resources/r2pipe/record.json>
- 英文版：[English](https://awesomerea.org/resources/r2pipe/index.md)

## 使用条件与局限

- 审阅时最新的 GitHub 发行版为 6.1.2，于 2026-04-20 发布，仅含源码；所审阅的 master 提交比它多 54 个提交。各语言实现也分别打包发布：Python 包 r2pipe 2.1.0（需 Python 3.6+）于 2026-10-19 上传至 PyPI，与 python/pyproject.toml 一致；npm 上的 r2pipe 为 2024-01-16 发布的 2.8.6，r2pipe-ts 为 0.4.0。Rust crate 位于独立的 r2pipe.rs 仓库；README 中的能力表标明了各语言支持哪些通信后端。
- 除 WebAssembly 版本外，所有绑定都要与一个 radare2 进程通信：或在本地启动，或作为 TCP、HTTP、RAP 服务端连接；命令字符串和输出格式取决于所用的 radare2 版本。CI 在 Ubuntu 24.04 上安装 radare2 6.1.4 的 Debian 软件包，测试 Perl、Python、TypeScript、Ruby、Tcl、Vala、Swift 和 .NET 绑定。
- python-wasm 是独立的 r2pipe_wasm 包，通过 Wasmer 的 Python SDK 1.1.0 在 Python 内运行 radare2 的 wasi-api WebAssembly 构建，默认下载带有该构建的最新稳定版本。其 README 仅验证了 Linux x86_64 上的 CPython 3.9，示例固定使用 6.1.4，并报告已发布的 6.2.2 API 模块在启动时会触发陷阱。
- GitHub 未识别出覆盖整个仓库的许可证。Python、Python WASM、Go、.NET、Haskell 和 Erlang 目录附有 MIT 许可证文件，npm 包也声明为 MIT。待分析的二进制由使用者自行提供；TypeScript 测试附带一个测试文件 typescript/tests/fixtures/wasm-api.wasm。

## 一手来源

1. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/README.md>
2. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/README.md#L56-L82>
3. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/python/README.md>
4. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/python/pyproject.toml>
5. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/python/LICENSE>
6. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/python-wasm/README.md>
7. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/nodejs/r2pipe/package.json>
8. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/typescript/package.json>
9. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/rust/ORIGIN>
10. <https://github.com/radareorg/radare2-r2pipe/blob/c3558109db3868f34b7bd6a02775611a9265d81a/.github/workflows/ci.yml>
11. <https://github.com/radareorg/radare2-r2pipe/releases/tag/6.1.2>
12. <https://pypi.org/project/r2pipe/2.1.0/>
13. <https://www.npmjs.com/package/r2pipe/v/2.8.6>

## 同分区更多条目：原生二进制

- [GREASE 欠约束符号执行二进制分析工具](https://awesomerea.org/zh/resources/grease/index.md) · 工具
- [PLASMA 交互式反汇编器](https://awesomerea.org/zh/resources/plasma-disassembler/index.md) · 工具
- [mobdevim iOS 设备命令行工具](https://awesomerea.org/zh/resources/mobdevim/index.md) · 工具
- [XPEViewer PE 文件查看与编辑工具](https://awesomerea.org/zh/resources/xpeviewer/index.md) · 工具
- [Fermion Frida 脚本图形化开发环境](https://awesomerea.org/zh/resources/fermion/index.md) · 工具
- [Ghidrathon Ghidra Python 3 脚本扩展](https://awesomerea.org/zh/resources/ghidrathon/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
