本项目旨在开发一个轻量级但实用的工具。原因在于现有十六进制编辑器存在一些不同的限制(例如,依赖过多、缺少十六进制着色功能等)。

本项目基于 qhexedit2、capstone 和 keystone 引擎。未来可能会增加新功能,欢迎提交 PR。
CTRL + F]CTRL + B]CTRL + C 和 CTRL + V]CTRL + Space]Delete 或 CTRL + D]CTRL + Z 和 CTRL + Y]CTRL + S]CTRL + G]INS]CTRL + N]CTRL + T]F5]F1]F2]F3]F4]F4]CTRL + 上/下 或 CTRL + -/+)Fhex 可以在启动时加载一个 JSON 格式的配置文件(来自 ~/fhex/config.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 到文件大小之间。
该图表绘制二进制文件的字节值,使您可以专注于相关部分。例如,如果二进制文件中有一个充满空字节的区域,您可以很容易地从图表中检测到它。
项目有以下依赖:qt5-charts(Debian/Ubuntu 中的软件包:libqt5charts5-dev)、capstone(可选)和 keystone(可选)。
在 Linux 上,您可以使用 ldconfig -p | grep -i qt5charts 检查是否安装了必要的库。
Fhex 默认以 MINIMAL 配置文件编译,这意味着它不包含 capstone 和 keystone。您可以通过删除 fhex.pro 中的相关行来更改此选项。
要在 Linux 上构建 Fhex,请执行以下命令:
mkdir build
cd build
qmake ..
make -j$(nproc)
GPL-3