WerWolv/ImHex

GitHub: WerWolv/ImHex

ImHex 是一款面向逆向工程和二进制分析的高级十六进制编辑器,提供结构化解析、可视化和插件扩展能力。

Stars: 52750 | Forks: 2342

A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
/ˈɪmhɛks/

'Build' workflow Status Discord Server Total Downloads Code Quality Translation Plugins

Download the latest version of ImHex! Download the latest nightly pre-release version of ImHex Use the Web version of ImHex right in your browser! Read the documentation of ImHex!

## 截图 ![Hex editor, patterns and data information](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/a460e49851200722.png) ![Bookmarks, data information, find view and data processor](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/f0ed1000e4200725.png)
更多截图 ![Data Processor decrypting some data and displaying it as an image](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/b2d27b89eb200728.png) ![STL Parser written in the Pattern Language visualizing a 3D model](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/156b5cdc4a200730.png) ![Data Information view displaying various stats about the file](https://static.pigsec.cn/wp-content/uploads/repos/2026/02/806540da1e200733.png)
## 功能
功能丰富的十六进制视图 - 字节补丁 - 补丁管理 - 无限撤销/重做 - “复制字节为…” - 字节 - 十六进制字符串 - C、C++、C#、Rust、Python、Java 与 JavaScript 数组 - ASCII 艺术十六进制视图 - HTML 自包含 div - 简单的字符串和十六进制搜索 - 从开始、结束和当前光标位置跳转 - 多彩高亮 - 可配置的前景高亮规则 - 使用模式、搜索结果和书签进行背景高亮 - 将数据显示为多种不同类型的列表 - 十六进制整数(8、16、32、64 位) - 有符号和无符号十进(8、16、32、64 位) - 浮点数(16、32、64 位) - RGBA8 颜色 - HexII - 二进制 - 将数据解码为 ASCII 和自定义编码 - 内置对 UTF-8、UTF-16、ShiftJIS、 大多数 Windows 编码以及更多的支持 - 分页数据视图
用于解析和高亮文件内容的自定义 C++ 风格模式语言 - 基于 MIME 类型和魔数的自动加载 - 数组、指针、结构体、联合体、枚举、位域、命名空间、大小端支持、条件语句等更多功能 - 有用的错误信息、语法高亮和错误标记 - 支持可视化多种不同类型的数据 - 图像 - 音频 - 3D 模型 - 坐标 - 时间戳
主题支持 - 在深夜使用时不会伤眼 - 默认暗色模式,也提供浅色模式 - 通过可共享的主题文件自定义所有 UI 元素的颜色和样式 - 支持自定义字体
导入和导出数据 - Base64 文件 - IPS 和 IPS32 补丁 - Markdown 报告 - 各种编程语言的二进制数组
数据检查器 - 将数据解释为多种类型,支持大小端、十进制、十六进制和八进制以及位反转 - 无符号和有符号整数(8、16、24、32、48、64 位) - 浮点数(16、32、64 位) - 有符号和无符号 LEB128 - ASCII、宽字符和 UTF-8 字符及字符串 - time32_t、time64_t、DOS 日期和时间 - GUID - RGBA8 和 RGB65 颜色 - 通过检查器复制和修改字节 - 通过模式语言添加新数据类型 - 支持隐藏未使用的行
基于节点的数据预处理器 - 在十六进制编辑器显示之前修改、解密和解码数据 - 在不触及底层源的情况下修改数据 - 支持添加自定义节点
从多种数据源加载数据 - 本地文件 - 支持大文件的快速高效加载 - 原始磁盘 - 从原始磁盘和分区加载数据 - GDB 服务器 - 通过 GDB 访问运行进程或嵌入式设备的内存 - Intel Hex 与 Motorola SREC 数据 - Base64 编码的数据 - UDP 数据包 - 支持显示通过 UDP 接收的原始数据 - 进程内存 - 检查运行进程的整个地址空间 - 通过 SSH + SFTP 访问远程文件 - 支持使用 SSH 和 SFTP 从远程服务器加载文件
数据搜索 - 支持搜索整个文件或仅选定区域 - 字符串提取 - 可指定最小长度和字符集(小写、大写、数字、符号) - 可指定编码(ASCII、UTF-8、UTF-16 大端和小端) - 序列搜索 - 搜索字节或字符序列 - 可忽略字符大小写 - 正则表达式搜索 - 使用正则表达式搜索字符串 - 二进制模式 - 搜索带可选通配符的字节序列 - 数值搜索 - 搜索有符号/无符号整数和浮点数 - 搜索值范围 - 可指定大小和字节序 - 可忽略未对齐的值
数据哈希支持 - 多种算法可用 - CRC8、CRC16、CRC32(支持自定义初始值和多项式) - 多种默认多项式 - MD5 - SHA-1、SHA-224、SHA-256、SHA-384、SHA-512 - Adler32 - AP - BKDR - Bernstein、Bernstein1 - DEK、DJB、ELF、FNV1、FNV1a、JS、PJW、RS、SDBM - OneAtTime、Rotating、ShiftAndXor、SuperFast - Murmur2_32、MurmurHash3_x86_32、MurmurHash3_x86_128、MurmurHash3_x64_128 - SipHash64、SipHash128 - XXHash32、XXHash64 - Tiger、Tiger2 - Blake2B、Blake2S - 对已加载数据的特定区域进行哈希 - 对任意字符串进行哈希
差异比较支持 - 比较不同数据源的数据 - 差异高亮 - 差异表格视图
集成的反汇编器 - 支持 Capstone 支持的所有架构 - ARM32(ARM、Thumb、Cortex-M、AArch32) - ARM64 - MIPS(MIPS32、MIPS64、MIPS32R6、Micro) - x86(16 位、32 位、64 位) - PowerPC(32 位、64 位) - SPARC - IBM SystemZ - xCORE - M68K - TMS320C64X - M680X - Ethereum - RISC - WebAssembly - MOS65XX - Berkeley 包过滤器 - 支持为自定义架构编写自定义反汇编器
书签 - 支持自定义名称和颜色的书签 - 在十六进制编辑器中高亮书签区域 - 跳转到书签 - 在新标签页中打开书签内容 - 为书签添加注释
功能丰富的数据分析器和可视化工具 - 基于文件魔数的文件解析器和 MIME 类型数据库 - 字节类型分布图 - 熵图 - 最高和平均熵 - 加密/压缩文件检测 - 二元组和分层分布图
YARA 规则支持 - 使用官方 YARA 规则扫描文件漏洞 - 在十六进制编辑器中高亮匹配 - 跳转到匹配位置 - 同时应用多个规则
实用工具 - 基于 LLVM 的 Itanium、MSVC、Rust 和 D-Lang 解符器 - ASCII 表 - 正则替换器 - 数学表达式求值器(计算器) - 绘图计算器 - 支持多种格式的十六进制颜色选择器 - 基数转换器 - 字节交换器 - UNIX 权限计算器 - Wikipedia 术语定义查找 - 文件工具 - 文件分割器 - 文件合并器 - 文件粉碎机 - IEEE754 浮点数可视化 - 不变乘法除法计算器 - TCP 客户端/服务器 - 欧几里得算法计算器 - HTTP 请求
内置内容更新器 - 在 ImHex 中直接下载数据库中找到的所有文件 - 用于解码各种文件格式的模式文件 - 模式语言的库 - 用于文件类型检测的魔数文件 - 自定义数据处理节点 - 自定义编码 - 自定义主题 - YARA 规则
现代界面 - 支持多个工作区 - 支持自定义布局 - 可分离窗口
易于上手 - 支持多种语言 - 为初学者提供简化模式 - 丰富的文档 - 在 [the Database](https://github.com/WerWolv/ImHex-Patterns) 上提供大量示例文件 - 成就系统引导你了解 ImHex 的功能 - 交互式教程
## 模式语言 模式语言是为 ImHex 开发的完全自定义的编程语言。 它允许你使用类似 C 的语法定义结构和数据类型,然后用它们来解析和高亮文件的内容。 - 源代码:[Link](https://github.com/WerWolv/PatternLanguage/) - 文档:[Link](https://docs.werwolv.net/pattern-language/) ## 数据库 有关格式模式、库、魔数和常量文件,请查看 [ImHex-Patterns](https://github.com/WerWolv/ImHex-Patterns) 仓库。 **也欢迎在此提交自己的文件!** ## 系统要求 使用 ImHex 需要满足以下最低系统要求。 - **操作系统**: - **Windows**:Windows 7 或更高(推荐 Windows 10/11) - **macOS**:macOS 15(Sequoia)或更高, 较低版本仍可工作,但需要自行编译 ImHex。由于 GitHub 没有 macOS 15 或更低的 CI 运行器,发布的二进制文件将无法运行。 macOS 构建未签名,需要在“安全性与隐私”设置中手动允许。 - **Linux**:“现代” Linux。以下发行版提供官方发行版。其他发行版可通过 AppImage、Flatpak 和 Snap 发行版使用。 - Ubuntu 和 Debian - Fedora - RHEL/AlmaLinux - Arch Linux - 基本上任何其他发行版在从源码编译 ImHex 时也能使用。 - **FreeBSD**:已在 FreeBSD 14.3 上测试 其他版本很可能也能工作,但未测试 - **CPU**:官方支持 x86、AMD64 和 ARM64,任何小端 CPU 都应可工作。 - **GPU**:OpenGL 3.0 或更高 支持集成的 Intel HD iGPU,但某些驱动已知会导致各种图形伪影,尤其在 Windows 上。请自行承担风险。 若没有可用 GPU,Windows 和 macOS 提供软件渲染版本。 - **RAM**:约 50 MiB,复杂分析需要更多内存 - **存储**:约 100 MiB ## 安装 关于如何安装 ImHex 的信息可在 [Install](/INSTALL.md) 指南中找到。 ## 编译 在任何平台上编译 ImHex 需要 GCC(或 Clang)且版本支持 C++23 或更高。 Windows 和 Linux 发行版使用最新可用的 GCC 构建。 macOS 发行版使用最新可用的 LLVM Clang 构建。 需要注意的是,MSVC 和 AppleClang 编译器均 **不受支持**,因为它们普遍过时且缺少 GCC 与 LLVM Clang 所具备的功能。 更多信息请参阅 [Compiling](/dist/compiling) 指南。 ## 插件开发 要为 ImHex 开发插件,请使用以下模板项目入门。这样可以访问 libimhex 的全部功能以及 ImHex API 和内容注册表,以便与 ImHex 交互或添加新内容。 构建插件需要使用我们的 SDK。 ### 本地获取 SDK 可以通过以下方式编译 ImHex 来构建 SDK: - `cmake -G Ninja -DIMHEX_BUNDLE_PLUGIN_SDK=ON -B build` - `cd build` - `DESTDIR=install ninja install` SDK 将位于 `install/usr/local/share/imhex/sdk`。需要将变量 `IMHEX_SDK_PATH` 设置为该(绝对)路径。 ### 在 Github Actions CI 中获取 SDK 可以使用 [this action](https://github.com/WerWolv/imhex-download-sdk) 自动下载 SDK 到 Github Runner - [ImHex Plugin Template](https://github.com/WerWolv/ImHex-Plugin-Template) ### 依赖 ### 许可证 ImHex 的主要部分采用 GPLv2‑only 许可证。 以下部分采用 LGPLv2.1 许可证: - **/lib/libimhex**:允许插件与 ImHex 交互的库。 - **/plugins/ui**:包含可被其他插件使用的常用 UI 元素的 UI 插件库。 这样做是为了允许为 ImHex 开发专有插件。 ### 代码签名政策 由 [SignPath.io](https://about.signpath.io/) 提供免费代码签名, 证书由 [SignPath Foundation](https://signpath.org/) 提供。 该程序不会向其他联网系统传输任何信息,除非用户或安装/运行它的人明确请求。 #### 直接推送访问者 - [WerWolv](https://github.com/WerWolv) - [iTrooz](https://github.com/iTrooz) - [jumanji144](https://github.com/jumanji144) - [AxCut](https://github.com/paxcut)
标签:Bash脚本, C++, GitHub项目, Qt框架, SNI设置, SQL注入, WAF测试, Web爬虫, 二进制分析, 云安全运维, 云资产清单, 十六进制编辑器, 安全工具, 安全研究, 开源安全, 开源软件, 数据库安全, 数据擦除, 服务识别, 漏洞利用, 漏洞检测, 调试插件, 逆向工程