工具

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 插件。

目标
二进制
类别
原生分析工具
关联
基础工具
来源复核于

使用条件与局限

  • 审阅时最新的 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. README.md GitHub · radareorg/radare2-r2pipe · 修订 c355810
  2. README.md#L56-L82 GitHub · radareorg/radare2-r2pipe · 修订 c355810
  3. python/README.md GitHub · radareorg/radare2-r2pipe · 修订 c355810
  4. python/pyproject.toml GitHub · radareorg/radare2-r2pipe · 修订 c355810
  5. python/LICENSE GitHub · radareorg/radare2-r2pipe · 修订 c355810
  6. python-wasm/README.md GitHub · radareorg/radare2-r2pipe · 修订 c355810
  7. nodejs/r2pipe/package.json GitHub · radareorg/radare2-r2pipe · 修订 c355810
  8. typescript/package.json GitHub · radareorg/radare2-r2pipe · 修订 c355810
  9. rust/ORIGIN GitHub · radareorg/radare2-r2pipe · 修订 c355810
  10. .github/workflows/ci.yml GitHub · radareorg/radare2-r2pipe · 修订 c355810
  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

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

原生二进制分区全部 158 项资源