Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
retdec — RetDec 是一款基于 LLVM 的可重定向机器码反编译器。 | Kitploit
工具/GitHubGitHub/avast/retdec
静态分析逆向工程恶意软件分析二进制分析
GitHubavast/retdec

retdec

RetDec 是一款基于 LLVM 的可重定向机器码反编译器。

查看仓库网站
8.6k997635个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

警告

RetDec 项目目前由于资源不足处于有限维护模式:

  • 欢迎提交 Pull Requests。它们会被优先审查,尽可能不延迟。
  • 对问题的响应可能会有最多一个季度的延迟。除非与基本项目维护相关,否则不会积极解决问题。
  • 基本项目维护仍在继续。
  • 仅进行非常有限的开发。

RetDec

Travis CI build status TeamCity build status))/statusIcon) RetDec CI

RetDec 是一个基于 LLVM 的可重定向机器码反编译器。

反编译器不限于任何特定的目标架构、操作系统或可执行文件格式:

  • 支持的文件格式:ELF、PE、Mach-O、COFF、AR(归档)、Intel HEX 和原始机器码。
  • 支持的架构:
    • 32位:Intel x86、ARM、MIPS、PIC32 和 PowerPC
    • 64位:x86-64、ARM64(AArch64)

特性:

  • 带有详细信息的可执行文件静态分析。
  • 编译器和打包器检测。
  • 加载和指令解码。
  • 基于签名移除静态链接的库代码。
  • 提取并利用调试信息(DWARF、PDB)。
  • 指令惯用法的重构。
  • 检测和重构 C++ 类层次结构(RTTI、vtables)。
  • 来自 C++ 二进制文件的符号反修饰(GCC、MSVC、Borland)。
  • 函数、类型和高层结构的重构。
  • 集成反汇编器。
  • 输出两种高级语言:C 和类 Python 语言。
  • 生成调用图、控制流图及各种统计信息。

更多信息,请查看我们的

  • Wiki(正在进行中)
  • Botconf 2017 演讲:幻灯片、视频
  • REcon Montreal 2018 演讲:幻灯片
  • 出版物

安装

有两种获取和安装 RetDec 的方式:

  1. 下载并解压预构建的 稳定版 或 前沿版 包,然后按照解压后 retdec/share/retdec/README.md 文件中的"使用"部分的说明进行操作。
  2. 通过源代码自行构建 RetDec,请遵循构建与安装部分。安装后,请按照以下说明操作。

我们目前支持 Windows(7 或更高版本)、Linux、macOS 和(实验性)FreeBSD。安装后的 RetDec 版本大约需要 5 到 6 GB 的可用磁盘空间。

使用

请确保您阅读的说明与所使用的 RetDec 版本相对应。如果不确定,请参考安装目录中的 retdec/share/retdec/README.md 文件。

Windows

  1. 在安装 RetDec 后,安装 Microsoft Visual C++ Redistributable for Visual Studio 2017。

  2. 安装以下程序:

    • UPX(可选:如果希望在预处理阶段使用 UPX 解包器)
    • Graphviz(可选:如果希望生成调用图或控制流图)
  3. 要反编译名为 test.exe 的二进制文件,运行:

    $RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe
    

    更多信息,请使用 --help 参数运行 retdec-decompiler.exe。

Linux

  1. 在安装 RetDec 后,通过您的发行版的包管理器安装以下软件包:

    • UPX(可选:如果希望在预处理阶段使用 UPX 解包器)
    • Graphviz(可选:如果希望生成调用图或控制流图)
  2. 要反编译名为 test.exe 的二进制文件,运行:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    更多信息,请使用 --help 参数运行 retdec-decompiler。

macOS

  1. 在安装 RetDec 后,安装以下软件包:

    • UPX(可选:如果希望在预处理阶段使用 UPX 解包器)
    • Graphviz(可选:如果希望生成调用图或控制流图)
  2. 要反编译名为 test.exe 的二进制文件,运行:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    更多信息,请使用 --help 参数运行 retdec-decompiler。

FreeBSD(实验性)

  1. 目前 FreeBSD 没有预构建的“ports”软件包。您需要自行构建和安装反编译器。过程如下所述。

  2. 要反编译名为 test.exe 的二进制文件,运行:

    $RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe
    

    更多信息,请使用 --help 参数运行 retdec-decompiler。

使用 RetDec 库

您可以轻松地在项目中使用各种 RetDec 库——前提是它们使用 CMake 构建。RetDec 安装包含了所有必要的头文件、库和 CMake 脚本。

如果您将 RetDec 安装到系统的标准安装位置(例如 /usr、/usr/local),使用其组件只需要:```cmake find_package(retdec 5.0 REQUIRED COMPONENTS [...] ) target_link_libraries(your-project PUBLIC retdec:: [...] )

如果你没有将 RetDec 安装在 CMake 可以自动发现的位置,则需要在使用 `find_package()` 之前帮助 CMake 找到它。通常有两种方法(请选择并使用其中一种):

1. 将 RetDec 安装目录添加到 [`CMAKE_PREFIX_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html):
    ```cmake
    list(APPEND CMAKE_PREFIX_PATH ${RETDEC_INSTALL_DIR})
    ```

2. 将已安装 RetDec CMake 脚本的路径设置为 `retdec_DIR`:
    ```cmake
    set(retdec_DIR ${RETDEC_INSTALL_DIR}/share/retdec/cmake)
    ```

请参阅 [Repository Overview](https://github.com/avast/retdec/wiki/Repository-Overview) 维基页面查看可用的 RetDec 组件列表,或查看 [retdec-build-system-tests](https://github.com/avast/retdec-build-system-tests) 了解如何使用它们。

## 构建与安装

本节介绍 RetDec 的本地构建与安装。有关 Docker 的说明,请参见下一节。

### 要求

#### Linux

* 支持 C++17 的 C++ 编译器和标准 C++ 库(例如 GCC >= 7)
* [CMake](https://cmake.org/)(版本 >= 3.6)
* [Git](https://git-scm.com/)
* [OpenSSL](https://www.openssl.org/)(版本 >= 1.1.1)
* [Python](https://www.python.org/)(版本 >= 3.4)
* [autotools](https://en.wikipedia.org/wiki/GNU_Build_System)([autoconf](https://www.gnu.org/software/autoconf/autoconf.html)、[automake](https://www.gnu.org/software/automake/) 和 [libtool](https://www.gnu.org/software/libtool/))
* [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)
* [m4](https://www.gnu.org/software/m4/m4.html)
* [zlib](http://zlib.net/)
* 可选:[Doxygen](http://www.stack.nl/~dimitri/doxygen/) 和 [Graphviz](http://www.graphviz.org/) 用于生成 API 文档

在基于 Debian 的发行版(例如 Ubuntu)上,可以使用 `apt-get` 安装所需的包:```sh
sudo apt-get install build-essential cmake git openssl libssl-dev python3 autoconf automake libtool pkg-config m4 zlib1g-dev upx doxygen graphviz

在基于RPM的发行版(例如Fedora)上,所需的软件包可以使用dnf安装:```sh sudo dnf install gcc gcc-c++ cmake make git openssl openssl-devel python3 autoconf automake libtool pkg-config m4 zlib-devel upx doxygen graphviz

在Arch Linux上,所需的软件包可以使用`pacman`安装:```sh
sudo pacman --needed -S base-devel cmake git openssl python3 autoconf automake libtool pkg-config m4 zlib upx doxygen graphviz

Windows

  • Microsoft Visual C++(版本 >= Visual Studio 2017 版本 15.7)
  • CMake(版本 >= 3.6)
  • Git
  • OpenSSL(版本 >= 1.1.1)
  • Python(版本 >= 3.4)
  • 可选:Doxygen 和 Graphviz 用于生成 API 文档

macOS

建议通过 Homebrew 安装软件包。

  • macOS >= 10.15
  • 完整的 Xcode 安装(包括命令行工具,参见 #425 和 #433)
  • CMake(版本 >= 3.6)
  • Git
  • OpenSSL(版本 >= 1.1.1)
  • Python(版本 >= 3.4)
  • autotools(autoconf、automake 和 libtool)
  • 可选:Doxygen 和 Graphviz 用于生成 API 文档

FreeBSD(实验性)

建议通过 FreeBSD 的预编译包仓库使用 pkg 命令安装软件包,或使用 ports 数据库方法从源码编译。

  • 完整 "pkg" 工具说明:手册 pkg 方法
    • pkg install cmake python37 git autotools 或者
  • 完整 "ports" 说明:手册 ports 方法
    • portsnap fetch
    • portsnap extract
  • 例如,cmake 的安装方式如下
    • whereis cmake
    • cd /usr/ports/devel/cmake
    • make install clean

构建过程

注意:虽然 RetDec 现在支持系统级安装(#94),但除非你使用发行版的包管理器进行安装,否则我们建议将 RetDec 安装在本地指定目录中。原因是卸载时只需删除一个目录更加方便。要进行本地安装,请在运行 cmake 时使用 -DCMAKE_INSTALL_PREFIX=<path> 参数,其中 <path> 是 RetDec 将安装到的目录(例如 Linux 和 macOS 上的 $HOME/projects/retdec-install,Windows 上的 C:\projects\retdec-install)。

下载工具