ImHex 安装指南:十六进制编辑器的全面部署方法
ImHex 是一款专为逆向工程师、程序员以及那些在深夜工作时还在意自己视力的人们设计的十六进制编辑器。它以其丰富的功能和对细节的关注而著称。
特点
高级十六进制视图:字节修补、补丁管理、无限撤销/重做、多种数据复制格式、简单字符串和十六进制搜索、多种数据类型显示和解码等。 自定义类似 C++ 的模式语言:基于 MIME 类型和魔术值自动加载,支持数组、指针、结构体、联合体、枚举、位字段、命名空间、小端和大端支持、条件语句等。 主题支持:默认深色模式,也提供浅色模式,所有 UI 元素的颜色和样式均可自定义。 数据导入导出:支持 Base64 文件、IPS 和 IPS32 补丁、Markdown 报告等。 数据检查器:支持多种数据解释方式,包括大小端、十进制、十六进制、八进制以及位反转等。 基于节点的数据预处理器:在数据展示前进行修改、解密和解码,支持添加自定义节点。 多种数据源加载:支持本地文件、原始磁盘、GDB 服务器、Intel Hex 和 Motorola SREC 数据等。 数据搜索:支持全文搜索或仅搜索选定部分、字符串提取、序列搜索、正则表达式搜索、二进制模式搜索和数值搜索等。 数据哈希支持:提供 CRC、MD5、SHA 系列、Adler32 等多种哈希算法。 差异比较:比较不同数据源的数据,并高亮显示差异。 集成反汇编器:支持 Capstone 支持的所有架构。 书签功能:支持自定义名称和颜色的书签,可在十六进制编辑器中高亮显示书签区域。 数据分析和可视化工具:基于文件魔术的文件解析器,提供字节类型分布图、熵图等。 YARA 规则支持:使用官方 YARA 规则扫描文件中的漏洞。 实用工具:包括多种编程语言的 demangler、ASCII 表、正则表达式替换器、数学表达式求值器等。 内置内容更新器:直接从 ImHex 下载数据库中的所有文件。 现代界面:支持多个工作区、自定义布局、可分离窗口等。 易于上手:支持多种语言、简化模式、详尽文档、示例文件和交互式教程。
模式语言
ImHex 开发了一种完全自定义的编程语言——模式语言。它允许你以类似 C 的语法定义结构和数据类型,然后使用它们来解析和高亮显示文件内容。
源代码:链接[1] 文档:链接[2]
数据库
格式模式、库、魔术和常量文件可在 ImHex-Patterns[3] 仓库中找到。
系统要求
操作系统:Windows 7 或更高版本(推荐 Windows 10/11)、macOS 11 (Big Sur) 或更高版本、现代 Linux 发行版。 CPU:x86_64(64 位)。 GPU:OpenGL 3.0 或更高。 内存:至少 256MB。 存储空间:至少 100MB。
安装
安装 ImHex
官方发布版本
安装 ImHex 最简单的方法是从 GitHub 官方发布页面[4] 下载最新版本。
对于没有 GPU 或希望在不支持 GPU 直通的虚拟机中运行 ImHex 的用户,还提供了 NoGPU 版本。
Windows
安装程序
运行安装程序即可在系统上安装 ImHex。
便携式
将 zip 文件解压到系统上的任何位置。
macOS
使用拖放 dmg 包在系统上安装 ImHex。可能需要在安全设置中允许应用程序运行。
Linux
AppImage
要运行 AppImage,请确保它是可执行的。然后,只需运行它。
chmod +x imhex-*.AppImage
./imhex-*.AppImage
Flatpak
要安装 Flatpak,请确保已将 Flathub 仓库添加到系统中。然后,只需运行以下命令:
flatpak install flathub net.werwolv.ImHex
Ubuntu DEB 包
要安装 DEB 包,只需运行以下命令:
sudo apt install ./imhex-*.deb
Arch Linux
要安装 Arch Linux 包,只需运行以下命令:
sudo pacman -U imhex-*.pkg.tar.zst
Fedora / RHEL / AlmaLinux RPM 包
要安装 RPM 包,只需运行以下命令:
sudo dnf install ./imhex-*.rpm
夜间构建
GitHub Actions CI 在对仓库的每次提交时都会构建一个新的发布包。这些构建可在 GitHub Actions 页面[5] 上获得。 这些构建不一定稳定,可能包含错误,但它们也包含了尚未在官方发布中提供的新增功能。
从源代码构建
Windows、Linux 和 macOS 的构建指南可在 /dist/compiling
下找到:
Windows: 链接[6] macOS: 链接[7] Linux: 链接[8]
包管理器
ImHex 也可在各种包管理器中获得。这里列出了官方支持的包管理器:
Windows
Chocolatey choco install imhex
imhex[9] (感谢 @Jarcho) Winget winget install WerWolv.ImHex
WerWolv.ImHex[10]
Linux
Arch Linux AUR yay -S imhex
yay -S imhex-bin
imhex-bin[11] (感谢 @iTrooz) imhex[12] (感谢 @KokaKiwi) Fedora dnf install imhex
imhex[13] (感谢 @jonathanspw) Flatpak flatpak install flathub net.werwolv.ImHex
net.werwolv.Imhex[14] (感谢 @Mailaender)
其他包管理器
上述未明确提及的包可能不是官方支持的,但它们很可能仍然有效。 如果遇到问题,请联系包的维护者。
编译
在任何平台上编译 ImHex 需要 GCC(或 Clang)支持 C++23 或更高版本。所有发布版本均使用最新的 GCC 构建。
插件开发
使用 ImHex 插件模板[15] 开始开发插件,你将可以访问整个 libimhex 库以及 ImHex API 和内容注册表,以与 ImHex 交互或添加新内容。
链接: https://github.com/WerWolv/PatternLanguage/
[2]链接: https://docs.werwolv.net/pattern-language/
[3]ImHex-Patterns: https://github.com/WerWolv/ImHex-Patterns
[4]GitHub 官方发布页面: https://github.com/WerWolv/ImHex/releases/latest
[5]GitHub Actions 页面: https://github.com/WerWolv/ImHex/actions?query=workflow%3A%22Build%22
[6]链接: dist/compiling/windows.md
[7]链接: dist/compiling/macos.md
[8]链接: dist/compiling/linux.md
[9]imhex: https://community.chocolatey.org/packages/imhex
[10]WerWolv.ImHex: https://github.com/microsoft/winget-pkgs/tree/master/manifests/w/WerWolv/ImHex
[11]imhex-bin: https://aur.archlinux.org/packages/imhex-bin/
[12]imhex: https://aur.archlinux.org/packages/imhex/
[13]imhex: https://src.fedoraproject.org/rpms/imhex/
[14]net.werwolv.Imhex: https://flathub.org/apps/details/net.werwolv.ImHex
[15]ImHex 插件模板: https://github.com/WerWolv/ImHex-Plugin-Template