工具

r2dec radare2 反编译插件

radare2 的反编译插件,通过 pdd 命令把已分析函数的反汇编转换为伪 C 代码。反编译器用 JavaScript 编写,每种架构对应一个模块,编译为 QuickJS 字节码后嵌入原生的 radare2 核心插件;输出可与汇编或偏移并排显示,可只显示作用域块,可显示类型转换或交叉引用,也可输出 HTML 或作为注释写回 radare2。README 列出的架构包括 x86/x64、16/32/64 位 ARM、MIPS、PowerPC(含 VLE)、SPARC、AVR、V850 和 Dalvik,另有实验性的 6502、8051、BPF、m68k、SuperH、WebAssembly 和 RISC-V 支持。

使用条件与局限

  • 审阅时的版本为 6.2.0,于 2026-08-16 基于所审阅的 master 提交发布,提供 Linux amd64 插件、Windows 32 位和 64 位构建,以及包含依赖的源码包。版本号与 radare2 保持一致:CI 在 Linux 和 Windows 上针对 radare2 6.2.0 构建,macOS 任务已被注释停用。可通过 r2pm 安装,也可用 meson 0.55.0+ 和 ninja 结合 radare2 开发文件构建;QuickJS 作为 meson 子项目自动获取。
  • 二进制由使用者自备,且须先在 radare2 中分析目标函数(af)。输出是可读的伪 C 代码,并非恢复出的源码;从 README 示例可见,结果可能保留 eax 等寄存器赋值和通用的局部变量名。回归测试位于独立的 r2dec-regression 仓库,提交问题时需附上 pddi 生成的 JSON。
  • 本仓库只构建 radare2 插件;Rizin 使用的 jsdec 反编译器是另一个独立项目。源文件带有 SPDX 标注:大部分代码为 BSD-3-Clause,随附的 base64 辅助代码为 MIT,因此 GitHub 无法识别出单一许可证。本次未反编译任何二进制。

关于此条目

类型
工具
类别
原生分析工具
关联
基础工具
目标
二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · wargio/r2dec-js · 修订 32ada0d
  2. README.md#L37-L114 GitHub · wargio/r2dec-js · 修订 32ada0d
  3. meson.build GitHub · wargio/r2dec-js · 修订 32ada0d
  4. subprojects/libquickjs.wrap GitHub · wargio/r2dec-js · 修订 32ada0d
  5. .github/workflows/ci.yml GitHub · wargio/r2dec-js · 修订 32ada0d
  6. .ci-scripts/ci-tests.sh GitHub · wargio/r2dec-js · 修订 32ada0d
  7. LICENSES GitHub · wargio/r2dec-js · 修订 32ada0d
  8. https://github.com/wargio/r2dec-js/releases/tag/6.2.0
  9. README.md GitHub · rizinorg/jsdec · 修订 9fc6098

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

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