Fhex 全功能十六进制编辑器开源项目

我要开发同款
匿名用户2023年05月26日
93阅读
开发技术C/C++
所属分类应用工具、文档/文本编辑
授权协议GPL 3.0

作品详情

Fhex是一款全功能的十六进制编辑器,兼容Linux/Windows/MacOS。

Fhex 诞生的目的是开发一个轻量级但有用的工具,因为现有的十六进制编辑器有一些不同的局限性(例如依赖性太多,缺少十六进制着色功能等)。

该项目基于qhexedit2、capstone和keystone引擎。

特征块加载器-用于仅加载大文件的一部分而不会耗尽内存(使用alt+左/右箭头在块之间移动)。请注意,在块模式下,所有操作(例如搜索)仅适用于当前块,除了文件保存(保存整个文件)。但是,每次编辑一个块时,请在移动到另一个块之前保存它,否则将丢失更改。搜索和替换(支持UTF-8、十六进制、正则表达式、反向搜索)[ CTRL+F]彩色输出(空格、ASCII字符、0xFF、UTF-8和NULL字节有不同的颜色)将选定的字节解释为整数、长整型、无符号长整型[ CTRL+B]复制并粘贴[CTRL+C和 CTRL+V]复制选定的unicode字符[ CTRL+Space]将所有选定字节[Delete或CTRL+D]归零撤消和重做[CTRL+Z和CTRL+Y]拖放(提示:拖放两个文件以区分它们)覆盖同一个文件或创建一个新文件[ CTRL+S]转到偏移量[ CTRL+G]支持插入模式以插入新字节而不是覆盖现有字节[ INS]创建新实例[ CTRL+N]所选文本的基本文本查看器[ CTRL+T]重新加载当前文件[ F5]在字节级别比较两个不同的文件可浏览的二进制图表(详见后文)[ F1]十六进制-十进制数转换器[ F2]十六进制字符串转义符(例如从010203到\x01\x02\x03)[ F3]模式匹配引擎(详见后文)基于CapstoneEngine[ F4]的分解器基于Keystone引擎的汇编程序[ F4]缩小/放大字节视图(CTRL+Up/Down或CTRL+-/+)模式匹配引擎Fhex可以在启动时加载JSON格式的配置文件(来自~/fhex/config.json),其中包含要突出显示的字符串或字节列表以及要在匹配项附近添加的注释/标签。

例子:

{"PatternMatching":[{"string":"://www.","color":"rgba(250,200,200,50)","message":"Foundurl"},{"bytes":"414243","color":"rgba(250,200,200,50)","message":"FoundABC"}]}

要激活模式匹配,请按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-iqt5charts

默认情况下,Fhex是使用MINIMAL配置文件编译的,这意味着它不包括capstone和keystone。可以更改此选项,从中删除相关行fhex.pro。

为了在Linux上构建Fhex,请执行以下命令:

mkdirbuildcdbuildqmake..make-j$(nproc)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论