Github开源项目:WerWolv/ImHex
ImHex简介
商业的十六进制编辑器有很多,包括著名的、秒开上G大文件的EmEditor(年费40刀,终生买断高达389刀!)……而今天介绍的是一个开源、免费、功能强大的十六进制编辑器。
ImHex是一个专为逆向工程师、程序员以及那些:凌晨3点还在工作却又在乎视网膜健康的人(P.S. 这是真的在乎吗?😂)设计的十六进制编辑器。它提供了非常丰富的功能,支持复杂的数据操作和分析。甚至还自带一个自定义C++风格的模式语言!可以对多种数据类型可视化展示。
截屏欣赏
<<< 左右滑动见更多 >>>
特点
高级十六进制视图:支持字节补丁、补丁管理、无限撤销/重做等。 自定义C++风格模式语言:用于解析和高亮显示文件内容,支持自动加载、多种数据类型可视化等。 主题支持:默认为深色模式,也提供浅色模式,支持自定义颜色和样式。 数据导入和导出:支持Base64文件、IPS补丁、Markdown报告等格式。 数据检查器:多种数据解释方式,支持字节复制和修改。 基于节点的数据预处理器:在数据在十六进制编辑器中显示前进行修改、解密和解码。 多种数据源加载:支持本地文件、原始磁盘、GDB服务器等。 数据搜索:支持全文搜索或仅选择部分,提供字符串提取、序列搜索、正则表达式搜索等。 数据哈希支持:多种哈希算法,支持特定区域哈希和任意字符串哈希。 差异比较支持:比较不同数据源的数据,突出显示差异。 集成反汇编器:支持Capstone支持的所有架构。 书签功能:支持自定义名称和颜色的书签,可在十六进制编辑器中高亮显示。 数据分析器和可视化工具:基于文件魔术的文件解析器,提供多种统计图表。 YARA规则支持:使用官方yara规则扫描文件中的漏洞。 实用工具:包括多种编程语言的demangler(反混淆器)、ASCII表、正则表达式替换器等。 内置内容更新器:直接从ImHex内部下载数据库中的所有文件。 现代界面:支持多工作区、自定义布局、可分离窗口等。 易于上手:支持多种语言,为初学者提供简化模式,提供详尽的文档和交互式教程。
模式语言
ImHex开发了一种完全自定义的编程语言,称为模式语言,它允许你使用类似C的语法定义结构和数据类型,然后使用它们来解析和高亮显示文件内容。
数据库
ImHex的格式模式、库、魔术和常量文件可以在ImHex-Patterns仓库中找到。
系统要求
使用ImHex需要满足以下最低系统要求:
操作系统:Windows 7或更高版本(推荐Windows 10/11)、macOS 12.1(Monterey)或更高版本、现代Linux发行版。 CPU:x86_64(64位)。 GPU:支持OpenGL 3.0或更高版本。 内存:至少256MB,复杂分析可能需要更多。 存储空间:至少150MB。
安装
ImHex的安装指南可以在安装指南中找到。
编译
在任何平台上编译ImHex,需要GCC(或Clang)支持C++23或更高版本。所有发行版都是使用最新的GCC构建的。
贡献
有关如何为ImHex贡献代码,请查看贡献指南。
插件开发
为ImHex开发插件,可以使用ImHex插件模板开始,它提供了对libimhex、ImHex API和内容注册表的完整访问权限。
致谢和依赖
ImHex的开发得到了许多贡献者和依赖库的支持,作者感谢了所有参与项目的人以及提供的各种库和工具。包括画UI的Dear ImGui库等。