# RetDec 可重定向机器码反编译器

> Avast 推出的基于 LLVM 的可重定向机器码反编译器。可处理 ELF、PE、Mach-O、COFF、AR、Intel HEX 或原始机器码，覆盖 32 位 x86、ARM、MIPS、PIC32、PowerPC 以及 64 位 x86-64 和 ARM64，能恢复函数、类型和 C++ 类层次结构，输出 C 或类 Python 语言代码，并生成调用图和控制流图。

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

## 使用条件与局限

- README 警告 RetDec 处于有限维护模式：拉取请求会优先审阅，议题的回应会有延迟，且除基本维护相关问题外不会主动解决，开发工作也极为有限。最新发行版为 v5.0（2022-12-08）；所审阅的 master 提交（2026-05-26）比它多 81 个提交，版本号仍为 5.0。
- 发行包覆盖 Linux、macOS 和 Windows；README 列出 Windows 7+、Linux、macOS 以及实验性的 FreeBSD，每次安装约占 5–6 GB。源码构建需要支持 C++17 的编译器（GCC 7+、Visual Studio 2017 15.7+，或 macOS 10.15+ 上的完整 Xcode）、OpenSSL 1.1.1+、Python 3.4+，Windows 以外还需 autotools；CMakeLists.txt 要求 CMake 3.13，而非 README 所写的 3.6。构建时会下载固定版本的 Capstone、Keystone、YARA 和 yaramod 压缩包、Avast 维护的 LLVM 分支以及 2019 年的支持包。
- 输入为使用者自有的可执行文件、目标文件、归档或原始机器码。自 v5.0 起，反编译器也以一组 CMake 库的形式供其他项目调用；独立的 retdec-idaplugin 和 retdec-r2plugin 仓库将其嵌入 IDA 和 radare2。
- GitHub Actions 在 Ubuntu 22.04、Windows（MSYS2）和 macOS 上构建 Release 与 Debug 配置，再运行独立的 retdec-regression-tests 测试套件。README 说明每夜构建不作保证、可能出现回归，Docker 支持则由社区维护。
- 采用 MIT 许可（Avast Software）。修改过的 PeLib 保留其 zlib/libpng 许可，LICENSE-THIRD-PARTY 列出其他组件，其中 Keystone 依据其针对 GPLv2 的 FOSS 例外条款使用。

## 一手来源

1. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/README.md>
2. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/CHANGELOG.md>
3. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/CMakeLists.txt>
4. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/cmake/deps.cmake>
5. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/.github/workflows/retdec-ci.yml>
6. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/.github/workflows/common/prepare-retdec-tests.sh>
7. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/LICENSE>
8. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/LICENSE-PELIB>
9. <https://github.com/avast/retdec/blob/9450585772e6f1c18e5f0b2ad5518a18d6bce71e/LICENSE-THIRD-PARTY>
10. <https://github.com/avast/retdec/releases/tag/v5.0>

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

- [REDasm 反汇编器](https://awesomerea.org/zh/resources/redasm/index.md) · 工具
- [Lighthouse 代码覆盖率浏览插件](https://awesomerea.org/zh/resources/lighthouse/index.md) · 工具
- [BinAbsInspector 二进制漏洞静态扫描工具](https://awesomerea.org/zh/resources/binabsinspector/index.md) · 工具
- [VulHunt 社区版漏洞挖掘框架](https://awesomerea.org/zh/resources/vulhunt/index.md) · 工具
- [BinSync 协同逆向插件](https://awesomerea.org/zh/resources/binsync/index.md) · 工具
- [class-dump Objective-C 头文件生成工具](https://awesomerea.org/zh/resources/class-dump/index.md) · 工具

## 关于此条目

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