Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
hexcymatix — Visualiza sequências de bytes repetidas em arquivos binários para revelar estrutura oculta, apoiando engenharia reversa e descoberta de padrões sem assinaturas predefinidas. | Kitploit
Ferramentas/GitHubGitHub/xoreaxeaxeax/hexcymatix
Análise EstáticaEngenharia ReversaAnálise de Binários
GitHubxoreaxeaxeax/hexcymatix

hexcymatix

Visualiza sequências de bytes repetidas em arquivos binários para revelar estrutura oculta, apoiando engenharia reversa e descoberta de padrões sem assinaturas predefinidas.

Ver Repositório
131há 5 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

hexcymatix

errlook.exe

hexcymatix é um projeto de pesquisa exploratória, concebido de forma ampla como uma ferramenta de engenharia reversa de binários para extrair informações estruturais a partir de padrões repetidos de bytes em arquivos binários.

A ideia nunca se materializou em uma ferramenta utilizável, mas ainda assim produz algumas representações fascinantes da impressionante autossimetria presente nos dados do dia a dia.

Visão geral

Às vezes, em engenharia reversa, você tem um exemplo de alguns dados — uma tabela, um blob compactado, um payload de protocolo — e quer encontrar dados semelhantes em outro lugar do arquivo, sem ainda ser capaz de escrever uma regra ou parser que os descreva. Você quer similaridade sem especificação.

hexcymatix postula que sequências repetidas de bytes implicam estrutura ou relação, mesmo que não saibamos qual é essa estrutura. Ao visualizar as repetições, podemos trazer à tona dados relacionados sem saber exatamente o que estamos procurando.

Por exemplo, a passagem das Pensées abaixo tem várias sequências autorrepetidas (' incapable of ', ' which he ', 'ing either ') — o hexcymatix dispõe o arquivo em duas linhas e conecta quaisquer sequências repetidas de bytes com pelo menos 8 bytes:

Pascal Pensees

As conexões que surgem então indicam estruturas e relações subjacentes nos dados.

Repetir esse processo em um arquivo binário comum começa a extrair automaticamente autossimilaridades, conexões e estruturas inesperadas. Como exemplo, aqui está o executável de consulta de erros em uma instalação padrão do Windows:

errlook.exe

A parte mais importante do processo é adicionar arcos entre as conexões dos fragmentos para deixar a saída com um visual interessante:

errlook.exe

Tendo perdido completamente o fio da meada, podemos experimentar diversas representações dos dados. Por exemplo, o mesmo arquivo e as mesmas conexões renderizados ao redor do perímetro de um círculo aparecem da seguinte forma:

errlook.exe

Uso

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

Flags

Exemplos

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

Saída

Executáveis

cmd.exe

cmd.exe circular

cmd.exe circular

calc.exe

calc.exe linear

calc.exe circular

explorer.exe

explorer.exe linear

explorer.exe circular

Fontes

Arial TTF

arial.ttf linear

arial.ttf circular

Comic Sans TTF

comic.ttf linear

comic.ttf circular

Courier New TTF

cour.ttf linear

cour.ttf circular

Bibliotecas

kernel32.dll

kernel32.dll linear

kernel32.dll circular

spwizres.dll

spwizres.dll linear

spwizres.dll circular

user32.dll

user32.dll linear

user32.dll circular

Imagens

Fundo padrão do Windows 95 ("Clouds")

Clouds.bmp linear

Clouds.bmp circular

Fundo padrão do Windows XP ("Bliss")

bliss.jpg linear

bliss.jpg circular

Texto simples

EULA do Windows XP

eula.txt linear

eula.txt circular

Pensées de Pascal

pg18269.txt linear

pg18269.txt circular

Áudio

Som de inicialização do Windows XP

xpstartu.wav linear

xpstartu.wav circular

WMA do Windows XP (9ª Sinfonia de Beethoven, incluída na instalação)

beethov9.wma linear

beethov9.wma circular

Dependências

root@kitploit:~
pip install pycairo numpy pillow

O pycairo é compilado contra a biblioteca nativa cairo, que precisa estar presente primeiro — brew install cairo pkg-config no macOS, ou apt install libcairo2-dev pkg-config no Debian/Ubuntu.

Aplicações e Futuro

A ferramenta foi desenvolvida como um auxílio à engenharia reversa: dado um único exemplo conhecido de alguns dados — uma struct, um blob compactado, um payload de protocolo — encontrar outras ocorrências dele no arquivo sem precisar de RE adicional. A esperança era que regiões compartilhando muitas subsequências repetidas com o exemplo conhecido se agrupassem em candidatos que valessem a pena investigar mais a fundo.

Em última análise, a ideia parecia frágil e o caso de uso limitado, então a técnica nunca foi desenvolvida no tipo de plugin integrado que seria necessário para uma pesquisa útil. O trabalho está sendo compartilhado aqui para que não se perca no éter, na esperança de que talvez outra pessoa possa dar continuidade.

Aviso sobre IA

Este projeto foi escrito originalmente à mão em C#. Foi portado para Python usando LLMs, com pouca supervisão ou revisão.

Autor

hexcymatix é um esforço de pesquisa de Christopher Domas (@xoreaxeaxeax).

errlook.exe

Baixar ferramenta
FlagDescrição
--circularLayout circular: deslocamentos de bytes mapeiam para ângulos em um anel (padrão)
--linearLayout de barras paralelas: duas barras horizontais conectadas por quads que se cruzam
--top N [N ...]Mantém apenas os N fragmentos mais longos antes da renderização; passe vários valores para renderizar uma imagem por corte
--no-arcsDesenha apenas as cordas, omitindo os arcos (substancialmente mais rápido, menos ruído visual)
--resolution RESResolução de saída como WxH ou um preset: 480p, 720p, 1080p, 1440p, 4k, uwfhd (2560x1080), suwfhd (3840x1080) (padrão: 1080p)
--ultraAtalho para --resolution 4000x4000
--circle-fill FFração do diâmetro da tela usada pelo círculo (padrão: 0.25, ou 0.50 para os presets ultra-wide)
--jpgTambém grava um JPEG com qualidade de 80% junto a cada PNG
--output-dir DIRDiretório para os arquivos de saída (padrão: output)