工具
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 无法识别出单一许可证。本次未反编译任何二进制。
关于此条目
- 类型
- 工具
- 类别
- 原生分析工具
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · wargio/r2dec-js · 修订 32ada0d
- README.md#L37-L114 GitHub · wargio/r2dec-js · 修订 32ada0d
- meson.build GitHub · wargio/r2dec-js · 修订 32ada0d
- subprojects/libquickjs.wrap GitHub · wargio/r2dec-js · 修订 32ada0d
- .github/workflows/ci.yml GitHub · wargio/r2dec-js · 修订 32ada0d
- .ci-scripts/ci-tests.sh GitHub · wargio/r2dec-js · 修订 32ada0d
- LICENSES GitHub · wargio/r2dec-js · 修订 32ada0d
- https://github.com/wargio/r2dec-js/releases/tag/6.2.0
- README.md GitHub · rizinorg/jsdec · 修订 9fc6098
同分区更多条目:原生二进制
- DownUnderCTF:masked-squares 校验器 · 案例
- Show Your Work:对 REA 证据架构的实测剖析 · 案例
- Windows 加载器:借助 REA 与 Codex 的静态恶意软件分析 · 案例
- Ghidra · 工具
- radare2 · 工具
- Cutter · 工具