Binary visualization for human pattern recognition - Ghidra plugin by Chris Domas (xoreaxeaxeax)
Use when embeddings fail: humans see patterns algorithms miss.
Visual binary analysis tool for Ghidra. Converts binary data to bitmaps/visualizations where structural patterns become visible to human pattern recognition.
cantordust-viz (-1) β skill-embedding-vss (0) β radare2-hatchery (+1) = 0 β
| Tool | Approach | Strength |
|---|---|---|
| Cantordust | Visual/human | Sees patterns ML misses |
| Zignatures | Soft signatures | Fuzzy matching + keyspace reduction |
| skill-embedding-vss | MLX embeddings | O(1) similarity at scale |
git clone https://github.com/Battelle/cantordust.git
# Add to Ghidra Script Manager
From xoreaxeaxeax's work:
| Repo | Stars | Category |
|---|---|---|
| movfuscator | 10,075 | obfuscation |
| sandsifter | 4,998 | hardware security |
| rosenbridge | 2,380 | hardware backdoors |
| REpsych | 1,031 | anti-RE |
# When embeddings show high similarity but you want visual confirmation
from cantordust import visualize_binary
from skill_embedding_vss import SkillEmbeddingVSS
vss = SkillEmbeddingVSS('/path/to/skills')
similar = vss.find_nearest('target', k=5)
# Visual confirm top matches
for name, dist in similar[:3]:
visualize_binary(f'/path/to/{name}') # Human reviews
# cantordust_gay_bridge.jl connects:
# 1. Cantordust 2-tuple byte pair visualization
# 2. CJ Carr spectral features (diffusion transformers)
# 3. Gay.jl deterministic coloring (SPI)
result = analyze_binary_with_gay("target.bin")
# Returns: matrix, diagonal_score, ascii_score, trit_sum, sample_colors
| Domain | Representation | Gay.jl Mapping |
|---|---|---|
| Binary (Cantordust) | 2-tuple β 256Γ256 | entropy β trit β color |
| Audio (CJ Carr) | Mel spectrogram | centroid/flatness β HSL |
| Color (Gay.jl) | SplitMix64 + golden angle | SPI deterministic |