Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
hexcymatix — 可视化二进制文件中重复的字节序列以揭示隐藏结构,支持无需预定义签名的逆向工程与模式发现。 | Kitploit
工具/GitHubGitHub/xoreaxeaxeax/hexcymatix
静态分析逆向工程二进制分析
GitHubxoreaxeaxeax/hexcymatix

hexcymatix

可视化二进制文件中重复的字节序列以揭示隐藏结构,支持无需预定义签名的逆向工程与模式发现。

查看仓库
1315天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

hexcymatix

errlook.exe

hexcymatix 是一个探索性研究项目,大致设想为一种 二进制逆向工程工具,用于从二进制文件中重复的字节模式中 提取结构信息。

这个构想从未真正成为可用的工具,但它仍然能从日常数据中 产生一些令人着迷的自对称性可视化表现。

概述

有时候在逆向工程中,你会拥有某份数据的一个样本——一张表、一个 压缩数据块、一个协议载荷——并希望在文件的其他位置找到类似的 数据,而此时还无法编写出描述它的规则或解析器。你想要的 是无需规格说明的相似性。

hexcymatix 假定重复的字节串意味着结构或关联, 即使我们不知道那种结构是什么。通过将重复可视化,我们 无需确切知道自己在寻找什么,就能浮现出相关的数据。

例如,下面的《思想录》(Pensées)片段包含几个自我重复的序列 (' incapable of '、' which he '、'ing either ')——hexcymatix 将文件铺展 成两行,并连接所有长度至少为 8 字节的重复字节序列:

帕斯卡《思想录》

浮现出来的连接随后暗示了数据中潜在的结构与关联。

对日常二进制文件重复这一过程,就会开始自动提取出 意料之外的自相似性、连接和结构。例如,以下是标准 Windows 安装中的错误查找可执行文件:

errlook.exe

这一过程中最重要的部分是在片段连接之间添加弧线, 让输出看起来更酷:

errlook.exe

在完全偏离初衷之后,我们可以尝试对数据进行 各种不同的可视化表现。例如,将同样的文件和连接渲染到 圆周上,效果如下:

errlook.exe

用法

root@kitploit:~
python hexcymatix.py [options] file [file ...]

选项

示例

root@kitploit:~
# 可执行文件的圆形可视化
python hexcymatix.py --circular guidgen.exe

# 线性可视化,仅保留前 500 个片段
python hexcymatix.py --linear --top 500 guidgen.exe

# 批量处理,4K 输出
python hexcymatix.py --circular --resolution 4k *.exe

输出

可执行文件

cmd.exe

cmd.exe 圆形

cmd.exe 圆形

calc.exe

calc.exe 线性

calc.exe 圆形

explorer.exe

explorer.exe 线性

explorer.exe 圆形

字体

Arial TTF

arial.ttf 线性

arial.ttf 圆形

Comic Sans TTF

comic.ttf 线性

comic.ttf 圆形

Courier New TTF

cour.ttf 线性

cour.ttf 圆形

库

kernel32.dll

kernel32.dll 线性

kernel32.dll 圆形

spwizres.dll

spwizres.dll 线性

spwizres.dll 圆形

user32.dll

user32.dll 线性

user32.dll 圆形

图像

Windows 95 默认壁纸(“Clouds”)

Clouds.bmp 线性

Clouds.bmp 圆形

Windows XP 默认壁纸(“Bliss”)

bliss.jpg 线性

bliss.jpg 圆形

纯文本

Windows XP 最终用户许可协议(EULA)

eula.txt 线性

eula.txt 圆形

帕斯卡《思想录》

pg18269.txt 线性

pg18269.txt 圆形

音频

Windows XP 启动音效

xpstartu.wav 线性

xpstartu.wav 圆形

Windows XP WMA(贝多芬第九交响曲,随安装附带)

beethov9.wma 线性

beethov9.wma 圆形

依赖

root@kitploit:~
pip install pycairo numpy pillow

pycairo 构建时依赖于原生的 cairo 库,因此必须先安装该库—— 在 macOS 上执行 brew install cairo pkg-config,或在 Debian/Ubuntu 上执行 apt install libcairo2-dev pkg-config。

应用与未来

该工具最初是作为逆向工程辅助手段而开发的:给定某份数据的 一个已知样本——一个结构体、一个压缩数据块、一个协议载荷——即可 在文件中找到它的其他实例,而无需更多逆向工程。当时的期望是, 与已知样本共享大量重复子序列的区域会聚集成值得进一步调查的候选对象。

最终,这个想法似乎站不住脚,用例也过于狭窄,因此这项技术 从未被发展成有用的研究所需要的无缝插件。将这项工作分享于此, 是为了让它不至于湮灭于无形,也希望其他人或许能在此基础上 继续发展。

AI 免责声明

本项目最初由人工使用 C# 编写。后来借助 LLM 移植到了 Python, 几乎没有经过监督或审查。

作者

hexcymatix 是 Christopher Domas(@xoreaxeaxeax)的一项研究工作。

errlook.exe

下载工具
选项说明
--circular圆形布局:字节偏移映射为环上的角度(默认)
--linear平行条布局:两条水平条带,由交叉四边形连接
--top N [N ...]渲染前仅保留 N 个最长的片段;可传入多个值,每个截断值渲染一张图像
--no-arcs仅绘制弦,跳过弧线(速度大大提升,视觉噪声更少)
--resolution RES输出分辨率,格式为 WxH 或预设值:480p、720p、1080p、1440p、4k、uwfhd(2560x1080)、suwfhd(3840x1080)(默认:1080p)
--ultra--resolution 4000x4000 的简写
--circle-fill F圆形占画布直径的比例(默认:0.25;超宽预设为 0.50)
--jpg同时为每张 PNG 输出一张 80% 质量的 JPEG
--output-dir DIR输出文件目录(默认:output)