Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hexcymatix — バイナリファイル内の繰り返し出現するバイト列を可視化して隠れた構造を明らかにし、事前定義されたシグネチャを必要とせずにリバースエンジニアリングとパターン発見を支援します。 | Kitploit
ツール/GitHubGitHub/xoreaxeaxeax/hexcymatix
静的分析リバースエンジニアリングバイナリ解析
GitHubxoreaxeaxeax/hexcymatix

hexcymatix

バイナリファイル内の繰り返し出現するバイト列を可視化して隠れた構造を明らかにし、事前定義されたシグネチャを必要とせずにリバースエンジニアリングとパターン発見を支援します。

リポジトリを見る
1315日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

hexcymatix

errlook.exe

hexcymatix は探索的な研究プロジェクトであり、バイナリファイル内の繰り返し出現するバイトパターンから構造情報を抽出するバイナリリバースエンジニアリングツールとして大まかに構想されていました。

このアイデアは実用ツールには結実しませんでしたが、それでも日常のデータに潜む驚くべき自己対称性の魅力的な表現を生み出します。

概要

リバースエンジニアリングでは、データの一例(テーブル、圧縮ブロブ、プロトコルペイロードなど)を手にしているものの、それを記述するルールやパーサーをまだ書けないまま、ファイル内の他の場所で類似したデータを探したいことがあります。仕様なしの類似性が欲しいのです。

hexcymatix は、繰り返し出現するバイト列が、その構造が何であるかを知らなくても、構造や関連性を示唆するという考えに基づいています。繰り返しを可視化することで、自分が何を探しているのか正確にわからなくても、関連するデータを浮かび上がらせることができます。

たとえば、以下の『パンセ』の一節には、複数の自己反復配列(' incapable of '、' which he '、'ing either ')があります。hexcymatix はファイルを2行にわたって配置し、8バイト以上の繰り返しバイト配列をすべて接続します。

パスカルの『パンセ』

浮かび上がった接続は、データの根底にある構造や関係性を示唆します。

この処理を日常的なバイナリファイルに対して繰り返すと、予期しない自己相似性や接続、構造が自動的に浮かび上がり始めます。例として、標準的な Windows インストールに含まれるエラールックアップ実行可能ファイルを示します。

errlook.exe

このプロセスの最も重要な部分は、出力をかっこよく見せるためにフラグメント接続の間に円弧を追加することです。

errlook.exe

当初の目的を完全に見失ったところで、データのさまざまな表現を試すことができます。たとえば、同じファイルと接続を円の周囲に沿ってレンダリングすると、次のようになります。

errlook.exe

使い方

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

フラグ

例

root@kitploit:~
# Circular visualization of an executable
python hexcymatix.py --circular guidgen.exe

# Linear visualization, top 500 fragments only
python hexcymatix.py --linear --top 500 guidgen.exe

# Batch, 4K output
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 ライブラリに対してビルドされるため、先に cairo をインストールしておく必要があります。macOS では brew install cairo pkg-config、Debian/Ubuntu では apt install libcairo2-dev pkg-config を実行します。

応用と今後の展望

このツールはリバースエンジニアリングの補助として開発されました。あるデータ(構造体、圧縮ブロブ、プロトコルペイロードなど)の既知の例が1つ与えられたとき、追加のリバースエンジニアリングを必要とせずにファイル内の他のインスタンスを探すというものです。既知の例と多くの反復部分列を共有する領域が、さらに調査する価値のある候補へとクラスタ化されることが期待されていました。

結局、このアイデアは確実性に欠け、ユースケースも狭いように思われたため、この手法は有用な研究に必要なシームレスなプラグインのような形には発展しませんでした。この成果が失われることのないようここに共有し、誰かがこれを基に発展させてくれることを願っています。

AI に関する免責事項

このプロジェクトは元々 C# で手書きされました。その後、LLM を使用して Python に移植されましたが、ほとんど監修やレビューは行われていません。

著者

hexcymatix は Christopher Domas(@xoreaxeaxeax)による研究プロジェクトです。

errlook.exe

ツールをダウンロード
フラグ説明
--circular円形レイアウト: バイトオフセットをリング上の角度にマッピングします(デフォルト)
--linear平行バーレイアウト: 交差する四辺形で接続された2本の水平バー
--top N [N ...]レンダリング前に最長の N 個のフラグメントのみを保持します。複数の値を渡すと、カットオフごとに1枚の画像をレンダリングします
--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)