返回更新列表
新发布Aug 17, 2026

hyperion-disassembler v0.1.6stable

原生多架构反汇编与反编译器 - PE/ELF/Mach-O, x86/x64/ARM64, Lua 脚本, RTTI 恢复

分享

Hyperion

一个原生的多架构反汇编器和二进制分析工具。支持PE、ELF、Mach-O和.NET二进制文件,涵盖x86、x64、ARM、ARM64、MIPS和PPC架构。完全使用C++20和ImGui从头构建。

Discord GitHub

单个静态链接的可执行文件。无需安装程序,无需运行时依赖。体积小于3MB。

image

社区

支持的格式与架构

格式架构
PE (exe, dll, sys)x86, x64
ELF (so, o, 可执行文件)x86, x64, ARM, ARM64, MIPS, PPC
Mach-O (dylib, 可执行文件, fat/universal)x64, ARM64
.NET (托管程序集)CIL/IL 字节码

反汇编引擎:Zydis (x86/x64) + Capstone (ARM, ARM64, MIPS, PPC)

功能特性

分析

  • 递归下降 + 线性扫描,含对齐冲突解决
  • .pdata 异常目录用于 x64 函数边界
  • RTTI C++ 类恢复(虚表解析、方法命名、类层次结构)
  • 导入桩检测、开关/跳转表解析
  • 虚表检测、全局变量检测
  • FLIRT 特征匹配(约100个 MSVC CRT 模式)
  • 打包器检测(UPX, Themida, VMProtect, ASPack, MPRESS)
  • PDB 符号加载(通过 DbgHelp 自动检测)
  • DWARF 符号加载(ELF 的 .debug_info)
  • C++ 名字符号还原(MSVC + GCC/Clang)
  • Noreturn/尾调用/调用约定检测
  • 数据流传播、间接调用解析
  • 过程间类型传播

反编译器

  • Ghidra 风格的 SSA 流水线(p-code 提升 → SSA → DCE → 传播 → 结构化 → 输出)
  • x86/x64 和 ARM64 反编译器
  • 标记-清除死代码消除
  • 感知 RTTI 的输出(obj->Class::method())
  • STL 容器识别(std::string, std::vector, std::shared_ptr)
  • 运算符重载检测、for 循环重构
  • 返回值传播、调用者保存参数折叠
  • Main/WinMain 检测,带类型参数
  • 符号化数据地址

UI

  • 4 种主题(Hyperion, IDA, Midnight, Custom)+ 背景图片支持
  • 导航条(彩色编码内存概览,点击跳转)
  • 反汇编视图,彩色编码助记符、内联字符串/导入注释、交叉引用徽章
  • 十六进制编辑器,支持补丁、模式高亮、键盘导航
  • 伪代码面板(F5,可复制)
  • 控制流图,可点击节点(Space 切换图形/反汇编)
  • 函数、字符串、导入/导出面板,支持过滤和复制
  • 交叉引用弹出窗口(X 键)和标签面板
  • 熵热图、调用图、栈帧视图
  • 类型系统(结构体、枚举),类视图(RTTI 浏览器)
  • 二进制差异、PE 头查看器,含打包器检测结果
  • SigMaker(自动通配符、4种输出格式、唯一性测试)
  • 搜索(文本、二进制模式通配符、立即数)
  • 美化模式(隐藏干扰项,仅显示函数代码和关键数据)
  • 右键菜单:复制为 C 数组、Python 字节、YARA 模式
  • 状态栏、等宽代码字体、多种字体大小

脚本与插件

  • 嵌入式 Lua 5.4 控制台(View > Script Console)
  • 插件系统:将 .lua 文件放入 plugins/ 文件夹
  • 插件 API:注册菜单项、热键、分析回调
  • 脚本 API:get_name, set_name, get_insn, get_bytes, get_functions, get_xrefs_to, set_comment, goto_addr, patch_byte, get_segments, get_arch, create_function
  • 参见 docs/scripting.mddocs/plugins.md

MCP 服务器(模型上下文协议)

  • 内置无头 MCP 服务器,用于 AI 集成(Cursor, Claude Desktop 等)
  • 通过 AI 提示直接访问反汇编、反编译、交叉引用和二进制结构
  • 启动服务器:向可执行文件传递 --mcp 参数: ./build/Release/Hyperion --mcp(或您平台上的等效命令)
  • 支持通过 stdio 检查状态、查找函数、字符串引用、修改注释/名称和反编译。

自定义

  • 设置面板(Ctrl+,):字体、颜色、按键绑定、高级选项
  • 可编辑按键绑定(按键即分配,持久保存)
  • 自定义主题导出/导入(.hth 文件)
  • themes/ 文件夹用于社区主题分发
  • 背景图片支持(png/jpg,不透明度滑块)
  • 窗口不透明度、光标行颜色、边框圆角、滚动条宽度、字体选择器

导出

  • 修补后的二进制文件、.asm 列表(MASM 风格)
  • IDAPython 脚本导出
  • 项目保存/加载(.hdb 格式)
  • 复制为 C 数组 / Python / YARA

稳定性

  • PE 加载器针对畸形二进制文件进行了加固
  • 线程安全分析(原子切换至 UI)
  • 内存优化(固定大小指令缓冲区、节区限制)
  • 所有操作完全支持撤销/重做
  • 每 60 秒自动保存
  • 最小化/失去焦点时不会崩溃

快捷键

按键动作
G跳转到地址
N重命名
;注释
X交叉引用
F5反编译函数
Space切换反汇编/图形
D定义为数据
A定义为字符串
U取消定义
C强制作为代码
H切换十六进制/十进制
P创建函数
Enter跟随分支/调用
Escape返回上一级
Shift+F12字符串视图
Ctrl+O打开
Ctrl+S保存
Ctrl+,设置
Ctrl+F搜索
Alt+B二进制搜索
Ctrl+Z/Y撤销/重做
Ctrl+Shift+S生成签名

所有快捷键均可通过设置自定义。

构建

需要 CMake 3.25+、vcpkg、C++20 编译器(MSVC 2022+、GCC 13+ 或 Clang 16+)。

git clone https://github.com/Sidenai/hyperion-disassembler
cd hyperion-disassembler
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build --config Release

静态链接(单个 exe,无 DLL):

cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build build --config Release

依赖项(通过 vcpkg 拉取):imgui (docking), glfw, zydis, capstone, spdlog, fmt, zlib, lua, stb。

平台

平台状态
Windows x64完全支持 (UI + MCP)
Linux x64可构建,完全支持 (UI + MCP)
macOS (Intel + Apple Silicon)可构建,完全支持 (UI + MCP)

状态

持续开发中。对所有支持格式的静态分析已可用。反编译器可为 x86/x64 和 ARM64 生成可读的 C 代码。RTTI 类恢复对未混淆的 C++ 二进制文件有效。

路线图:

  • 调试器集成(附加、断点、反检测)
  • 协作分析
  • 更多反编译器改进

许可证

MIT

分类