# 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 支持。

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

## 使用条件与局限

- 审阅时的版本为 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. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/README.md>
2. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/README.md#L37-L114>
3. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/meson.build>
4. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/subprojects/libquickjs.wrap>
5. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/.github/workflows/ci.yml>
6. <https://github.com/wargio/r2dec-js/blob/32ada0dc8bffd1e3ec55d6134531eaae244502ed/.ci-scripts/ci-tests.sh>
7. <https://github.com/wargio/r2dec-js/tree/32ada0dc8bffd1e3ec55d6134531eaae244502ed/LICENSES>
8. <https://github.com/wargio/r2dec-js/releases/tag/6.2.0>
9. <https://github.com/rizinorg/jsdec/blob/9fc60988ddfe4231971f2cbf5f1064460072c2b3/README.md>

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

- [Runtime Mobile Security（RMS）移动应用运行时分析界面](https://awesomerea.org/zh/resources/rms-runtime-mobile-security/index.md) · 工具
- [Pharos 二进制静态分析框架](https://awesomerea.org/zh/resources/pharos/index.md) · 工具
- [heimdall-rs EVM 字节码分析工具包](https://awesomerea.org/zh/resources/heimdall-rs/index.md) · 工具
- [PE-bear PE 文件分析工具](https://awesomerea.org/zh/resources/pe-bear/index.md) · 工具
- [PE-sieve 进程内存植入扫描工具](https://awesomerea.org/zh/resources/pe-sieve/index.md) · 工具
- [oletools Office 文档与 OLE 文件分析工具集](https://awesomerea.org/zh/resources/oletools/index.md) · 工具

## 关于此条目

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