Fhex —— 全功能十六进制编辑器
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
] - 模式匹配引擎(详见后文)
- 基于 Capstone Engine [
F4
]的分解器 - 基于 Keystone 引擎的汇编程序 [
F4
] - 缩小/放大字节视图(
CTRL + Up/Down
或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)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | Nodejs 应用编译构建提速建议
编译构建的整体过程 拉取编译镜像 拉取缓存镜像 拉取项目源码 挂载缓存目录 执行编译命令(用户自定义) 持久化缓存 上传编译镜像 为什么在本地构建就快, 但编译机上很慢 在编辑机上每次的构建环境都是全新的, 完成一次构建比本地需要多一些步骤: 现成的全局包缓存 VS 重新构建缓存: 咱可以先简单理解为咱使用 npm 的时候那个全局的缓存目录, 编辑机需要准备持久化的缓存的环境, 包括下载、挂载以重建缓存, 如果缓存内容过大, 时间也会相对更长, 本地构建直接使用了稳定的本地文件系统; 增量安装依赖 VS 全量安装依赖: 本地不太经常需要执行 install 的过程, 即使需要, 也因为有持久的 node_modules 目录存在, 不需要全量安装, 但编辑机环境每次需要重新安装这个项目需要的所有依赖; 增量构建 VS 全量构建: 本地构建默认会将构建缓存放到 node_modules 目录下, 第二次构建的时候这些构建就能被用起来, 使得后面的构建更快, 但这个构建的默认缓存位置在编辑机上不会被持久化, 也就是每次需要全量构建. 网络环境: 有些依赖包安装依赖外部网络甚至海外网络, 本...
- 下一篇
开源邮件客户端 Thunderbird 更换全新 Logo
Thunderbird 诞生于 2003 年,如今已经过 20 年的发展。以前的 Thunderbird 发展缓慢,近几年随着财务状况变得更好,Thunderbird 走上了快速发展的道路,随着项目的发展,Thunderbird 也需要发布了一个全新的 Logo 来代表这种变化。 日前,Thunderbird 正式公布了全新的 Logo 设计。 这个全新的 Logo 是由设计师 Jon Hicks 所设计的,他也是 Firefox 和 Thunderbird 最初的 Logo 设计师。新的 Logo 经过完全重新设计,融入了目前流行的扁平化设计趋势,该 Logo 依然保留了 Thunderbird 重要的两个元素(雷鸟+邮件),并且新的 Logo 与 Firefox 的 Logo 设计理念差不多,能一眼看出是同一家公司的产品。 此次 Thunderbird 还一同公布了 Linux、Windows、macOS、Android 和 iOS 平台上的新标识。 熟悉 Thunderbird 的用户应该知道,目前 Thunderbird 仅有 Mac、Linux 和 Windows 客户端,几...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启