Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
hexcymatix — Visualiza secuencias repetidas de bytes en archivos binarios para revelar estructuras ocultas, facilitando la ingeniería inversa y el descubrimiento de patrones sin firmas predefinidas. | Kitploit
Herramientas/GitHubGitHub/xoreaxeaxeax/hexcymatix
Análisis EstáticoIngeniería InversaAnálisis de Binarios
GitHubxoreaxeaxeax/hexcymatix

hexcymatix

Visualiza secuencias repetidas de bytes en archivos binarios para revelar estructuras ocultas, facilitando la ingeniería inversa y el descubrimiento de patrones sin firmas predefinidas.

Ver Repositorio
131hace 5 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

hexcymatix

errlook.exe

hexcymatix es un proyecto de investigación exploratoria, concebido en líneas generales como una herramienta de ingeniería inversa binaria para extraer información estructural a partir de patrones de bytes repetidos en archivos binarios.

La idea nunca se materializó en una herramienta utilizable, pero aún así produce algunas representaciones fascinantes de la sorprendente autosimetría presente en los datos cotidianos.

Resumen

A veces, en ingeniería inversa, tienes un ejemplo de ciertos datos — una tabla, un blob comprimido, una carga útil de protocolo — y quieres encontrar datos similares en otra parte de un archivo, sin poder aún escribir una regla o un analizador que los describa. Deseas similitud sin especificación.

hexcymatix postula que las cadenas de bytes repetidas implican estructura o relación, incluso si no sabemos cuál es esa estructura. Al visualizar las repeticiones, podemos sacar a la luz datos relacionados sin saber exactamente qué estamos buscando.

Por ejemplo, el pasaje de Pensées que se muestra a continuación contiene varias secuencias autorrepetidas (' incapable of ', ' which he ', 'ing either ') — hexcymatix dispone el archivo en dos líneas y conecta cualquier secuencia de bytes repetida de al menos 8 bytes:

Pensées de Pascal

Las conexiones que emergen entonces insinúan la estructura subyacente y las relaciones en los datos.

Repetir este proceso en un archivo binario cotidiano comienza a extraer automáticamente autosimilitudes, conexiones y estructuras inesperadas. Como ejemplo, aquí está el ejecutable de búsqueda de errores en una instalación estándar de Windows:

errlook.exe

La parte más importante del proceso es añadir arcos entre las conexiones de los fragmentos para que el resultado se vea genial:

errlook.exe

Tras haber perdido por completo el norte, podemos experimentar con distintas representaciones de los datos. Por ejemplo, el mismo archivo y las mismas conexiones renderizadas alrededor del perímetro de un círculo aparecen de la siguiente manera:

errlook.exe

Uso

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

Opciones

Ejemplos

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

Salida

Ejecutables

cmd.exe

cmd.exe circular

cmd.exe circular

calc.exe

calc.exe lineal

calc.exe circular

explorer.exe

explorer.exe lineal

explorer.exe circular

Fuentes

Arial TTF

arial.ttf lineal

arial.ttf circular

Comic Sans TTF

comic.ttf lineal

comic.ttf circular

Courier New TTF

cour.ttf lineal

cour.ttf circular

Bibliotecas

kernel32.dll

kernel32.dll lineal

kernel32.dll circular

spwizres.dll

spwizres.dll lineal

spwizres.dll circular

user32.dll

user32.dll lineal

user32.dll circular

Imágenes

Fondo predeterminado de Windows 95 ("Clouds")

Clouds.bmp lineal

Clouds.bmp circular

Fondo predeterminado de Windows XP ("Bliss")

bliss.jpg lineal

bliss.jpg circular

Texto plano

CLUF de Windows XP

eula.txt lineal

eula.txt circular

Pensées de Pascal

pg18269.txt lineal

pg18269.txt circular

Audio

Sonido de inicio de Windows XP

xpstartu.wav lineal

xpstartu.wav circular

WMA de Windows XP (la Novena de Beethoven, incluida con la instalación)

beethov9.wma lineal

beethov9.wma circular

Dependencias

root@kitploit:~
pip install pycairo numpy pillow

pycairo se compila contra la biblioteca cairo nativa, que debe estar presente primero — brew install cairo pkg-config en macOS, o apt install libcairo2-dev pkg-config en Debian/Ubuntu.

Aplicaciones y futuro

La herramienta se desarrolló como ayuda para la ingeniería inversa: dado un único ejemplo conocido de ciertos datos — una estructura, un blob comprimido, una carga útil de protocolo — encontrar otras instancias del mismo en el archivo sin necesidad de más ingeniería inversa. La esperanza era que las regiones que compartieran muchas subsecuencias repetidas con el ejemplo conocido se agruparan en candidatos que valiera la pena investigar más a fondo.

En última instancia, la idea parecía frágil y el caso de uso limitado, por lo que la técnica nunca se desarrolló hasta convertirse en el tipo de complemento integrado que habría necesitado para una investigación útil. El trabajo se comparte aquí para que no se pierda en el éter, con la esperanza de que quizás otra persona pueda construir sobre él.

Aviso sobre IA

Este proyecto fue originalmente escrito a mano en C#. Se ha portado a Python mediante LLM, con poca supervisión o revisión.

Autor

hexcymatix es un esfuerzo de investigación de Christopher Domas (@xoreaxeaxeax).

errlook.exe

Descargar herramienta
OpciónDescripción
--circularDiseño circular: los desplazamientos de bytes se asignan a ángulos en un anillo (predeterminado)
--linearDiseño de barras paralelas: dos barras horizontales conectadas por cuadriláteros cruzados
--top N [N ...]Conservar solo los N fragmentos más largos antes de renderizar; pasa varios valores para generar una imagen por cada límite
--no-arcsDibujar solo cuerdas, omitiendo los arcos (sustancialmente más rápido, menos ruido visual)
--resolution RESResolución de salida como WxH o un valor preestablecido: 480p, 720p, 1080p, 1440p, 4k, uwfhd (2560x1080), suwfhd (3840x1080) (predeterminado: 1080p)
--ultraAbreviatura de --resolution 4000x4000
--circle-fill FFracción del diámetro del lienzo utilizada por el círculo (predeterminado: 0.25, o 0.50 para los valores preestablecidos ultra panorámicos)
--jpgAdemás, escribir un JPEG al 80 % de calidad junto a cada PNG
--output-dir DIRDirectorio para los archivos de salida (predeterminado: output)