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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
HexRaysCodeXplorer — Hex-Rays 反编译器的插件,用于更好的代码导航 | Kitploit
工具/GitHubGitHub/rehints/hexrayscodexplorer
静态分析逆向工程调试器恶意软件分析二进制分析
GitHubrehints/hexrayscodexplorer

HexRaysCodeXplorer

Hex-Rays 反编译器的插件,用于更好的代码导航

查看仓库
2.6k4132910个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __ | _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '| | | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |
/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|
/ |_|

License: GPL v3 Code Climate Issue Count

Hex-Rays 反编译插件,用于在逆向工程过程中实现更好的代码导航。CodeXplorer 可自动完成 C++ 应用或现代恶意软件(如 Stuxnet、Flame、Equation、Animal Farm 等)的代码逆向重构 :octocat:

CodeXplorer 插件是 最早公开的 Hex-Rays 反编译器插件之一。我们自 2013 年夏季 以来持续更新该项目,并频繁贡献新功能。此外,CodeXplorer 的最有趣特性已在众多安全会议上展示,如:REcon、ZeroNights、H2HC、NSEC 和 BHUS 👾

贡献者:

Alex Matrosov (@matrosov)

Eugene Rodionov (@rodionov)

Rodrigo Branco (@rrbranco)

Gabriel Barbosa (@gabrielnb)

支持的 Hex-Rays 产品版本: 我们始终关注 IDA 和反编译器的最新版本,因为希望利用新版 SDK 中引入的有趣特性。这也意味着我们仅针对 Hex-Rays 产品的最新版本进行测试,不保证在旧版本上的稳定运行。

为何不使用 IdaPython: 所有代码均用 C/C++ 开发,因为这是为 Hex-Rays 反编译器支持复杂插件的更稳定方式。

支持的平台: x86/x64 的 Windows、Linux 和 Mac。

HexRaysCodeXplorer - Hex-Rays 反编译器插件,用于更便捷的代码导航。在伪代码窗口中右击上下文菜单,可显示 CodeXplorer 插件命令:

1

💎 以下是 CodeXplorer 插件的主要功能: 💎

  • 自动类型逆向重构 用于 C++ 对象。要使用 HexRaysCodeXplorer 重构类型,需要选择保存指向位置独立代码实例或对象指针的变量,然后右键单击并从上下文菜单中选择「REconstruct Type」选项:

2

重构的结构将显示在“输出窗口”中。有关类型重构特性的详细信息,请参阅博文“HexRaysCodeXplorer 中的类型逆向重构”。

此外,CodeXplorer 插件支持将重构后的类型自动导入 IDA 本地类型存储中。

6

  • 虚函数表识别 - 在类型重构过程中自动识别对虚函数表的引用。当识别到虚函数表引用时,插件会生成相应的 C 结构。如下所示,在重构 struct_local_data_storage 时,识别出两个虚函数表,并因此生成了两个对应的结构:struct_local_data_storage_VTABLE_0 和 struct_local_data_storage_VTABLE_4。

12

  • C 树图可视化 – 一种特殊的树状结构,以 citem_t 术语(hexrays.hpp)表示反编译后的例程。有助于理解反编译器工作原理。高亮的图节点对应 HexRays 伪代码窗口中的当前光标位置:

3

  • Ctree 项视图 – 显示高亮元素的 ctree 表示:

16

  • 将 Ctrees 导出到文件 – 计算 SHA1 哈希并将所有 ctrees 转储到文件。

14

  • 将类型导出到文件 – 将所有类型信息(包括重构的类型)转储到文件。

  • 虚函数调用导航 在 HexRays 伪代码窗口中实现。将 C++ 对象表示为 C 结构后,该功能允许通过鼠标点击导航到作为结构字段的虚函数调用:

4

  • 跳转到反汇编 - 一个小功能,用于从当前伪代码行位置导航到“IDA 视图窗口”中的汇编代码。帮助查找与反编译行关联的汇编代码位置。

8

  • 对象浏览器 – 用于导航虚函数表(VTBL)结构的有用界面。对象浏览器将 VTBL 信息输出到 IDA 自定义视图窗口。通过在右键单击上下文菜单中选择「Object Explorer」选项来显示输出窗口:

5

对象浏览器支持以下功能:

  • 为 VTBL 自动生成结构并导入 IDA 本地类型

  • 导航虚函数表列表,通过点击跳转到“IDA 视图”窗口中的 VTBL 地址

  • 显示当前虚函数表位置的提示

  • 点击菜单中的「Show XREFS to VTBL」显示交叉引用列表

11

  • 支持自动解析 RTTI 对象:

13

批处理模式包含以下功能:

  • 批处理模式 - 用于无需用户交互的情况下使用 CodeXplorer 处理多个文件的有用功能。我们在 2015 年 Black Hat 研究后添加了此功能,用于处理 200 万个样本。
示例(转储函数名前缀为 "crypto_" 的函数的类型和 ctrees):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb

编译:

Windows:

  • 在 Visual Studio 中打开解决方案
  • 用 notepad(++) 打开文件 src/HexRaysCodeXplorer/PropertySheet.props,更新 IDADIR 和 IDASDK 路径,分别指向 IDA 安装路径和 IDA7 SDK 路径。HexRays SDK 应位于 $IDADIR\plugins\hexrays_sdk(默认情况)
  • 构建 Release | x64 和 Release x64 | x64 配置

Linux:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> EA64=0 make -f makefile.lnx install

Mac:

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<PATH_TO_IDA> IDA_SDK=<PATH_TO_IDA_SDK> make -f makefile.mac
  • Mac 的 makefile 可能需要手动编辑,欢迎提交 pull request!
  • IDA 7.0 的 .pmc 文件扩展名应为 .dylib
  • bash$ export IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.mac
  • 或者在 Xcode 中打开项目 HexRaysCodeXplorer.xcodeproj

使用 CMake:

  • cd src/HexRaysCodeXplorer/
  • mkdir build && cd build
  • cmake .. -DIdaSdk_ROOT_DIR=<PATH_TO_IDA_SDK> -DHexRaysSdk_ROOT_DIR=<PATH_TO_HEXRAYS_SDK>
  • cmake --build . --config Release

============================================================================

关于 CodeXplorer 插件的会议演讲:

  • 2015
  • “为大规模恶意软件分析分发高级 IR 重构”,BHUS [幻灯片]
  • “使用 HexraysCodeXplorer 进行面向对象代码逆向工程”,NSEC [幻灯片]
  • 2014
  • “HexRaysCodeXplorer:面向对象逆向工程的乐趣与收益”,H2HC [幻灯片]
  • 2013
  • “HexRaysCodeXplorer:让面向对象逆向工程更轻松”,ZeroNights [幻灯片]
  • “重构 Gapz:位置无关代码分析问题”,REcon [幻灯片]
下载工具