关于Fhex
Fhex是一款功能强大的十六进制编辑器,该工具同时支持在Linux、Windows和macOS系统上使用。考虑到社区中现有的十六进制编辑工具或多或少都存在着不同的使用限制,比如说依赖组件过多或缺乏十六进制颜色方案等,而该项目的主要目的旨在给广大研究人员提供一款轻量级但包含大量功能的实用工具。
该项目基于qhexedit2、capstone和keystone引擎开发,并且仍处于积极开发中,之后还会在新版本中添加更多的功能。
功能介绍
1、区块加载:在不消耗内存的情况下加载大型文件;
2、搜索和替换(UTF-8、十六进制、正则表达式、逆向查询支持)[CTRL+F];
3、支持输出数据颜色高亮显示;
4、将选择的字节数据解析为整型、长整型、无符号整型[CTRL + B];
5、复制和粘贴[CTRL + C and CTRL + V];
6、复制选中的Unicode字符[CTRL + Space];
7、将选中的字节填充为零[Delete]或[CTRL + D];
8、撤销&恢复[CTRL + Z]和[CTRL + Y];
9、拖放功能支持;
10、覆盖相同文件或创建一个新文件[CTRL + S];
11、跳转至偏移量[CTRL + G];
12、插入模式支持插入新字节,而不是重写现有数据[INS];
13、创建新实例[CTRL + N];
14、文本查看器查看选中的文本[CTRL + T];
15、重新加载当前文件[F5];
16、对比两个不同文件的字节信息;
17、浏览二进制图表数据[F1];
18、十六进制转换[F2];
19、十六进制字符串转义[F3];
20、模式匹配引擎支持;
21、基于Capstone引擎的反汇编器[F4];
22、基于Keystone引擎的汇编器[F4];
23、缩小/放大字节视图(CTRL + Up/Down]或[CTRL + -/+];
工具下载
源码获取
广大研究人员可以通过下列命令将该项目源码克隆至本地:
git clone https://github.com/echo-devim/fhex.git
已编译代码获取
除此之外,广大研究人员可以直接访问该项目的【Releases页面】获取预编译项目。
模式匹配引擎
Fhex可以在启动时从“~/fhex/config.json”加载一份JSON格式的配置文件,其中需包含字符串列表或需要高亮处理的字节数据,以及需要匹配的标签。
参考样例:
{ "PatternMatching": [ { "string" : "://www.", "color" : "rgba(250,200,200,50)", "message" : "Found url" }, { "bytes" : "414243", "color" : "rgba(250,200,200,50)", "message" : "Found ABC" } ] }
按下[CTRL + P]即可激活模式匹配功能,处理完成后,Fhex将会显示一个偏移量列表来给广大研究人员提供参考。
二进制图表
Fhex还提供了以图表的方式加载二进制文件(注意:在编译项目代码时,你还需要在本地系统上安装好qt5-charts),其中y轴范围为0-255(对应0x0-0xff),x轴范围为0-文件大小。
该图表可以绘制二进制文件的字节值,允许我们只关注相关部分。比如说,如果在一个二进制文件中有一个满是空字节的区域,我们就可以很容易地从图表中检测到它了。
工具运行截图
许可证协议
本项目的开发与发布遵循GPL-3开源许可证协议。
项目地址
Fhex:【GitHub传送门】