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
e9patch — Una potente herramienta de reescritura binaria estática | Kitploit
Herramientas/GitHubGitHub/gjduck/e9patch
Ingeniería InversaFuzzingAnálisis de BinariosExplotación de Binarios
GitHubgjduck/e9patch

e9patch

Una potente herramienta de reescritura binaria estática

Ver Repositorio
1.1k7047hace 2 mesesRevisado por Kitploit

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

  E9Patch - Un potente reescritor binario estático

E9Patch es una potente herramienta de reescritura binaria estática para binarios ELF de Linux x86_64. E9Patch es:

  • Escalable: E9Patch puede reescribir de forma fiable binarios grandes/complejos, incluyendo navegadores web (>100MB de tamaño).
  • Compatible: El binario reescrito es un reemplazo directo del original, sin dependencias adicionales.
  • Rápido: E9Patch puede reescribir la mayoría de los binarios en unos segundos.
  • Baja Sobrecarga: Tanto en rendimiento como en memoria.
  • Programable: E9Patch está diseñado para que pueda integrarse fácilmente en otros proyectos. Consulte la Guía de usuario de E9Tool y la Guía del programador de E9Patch para más información.

La reescritura binaria estática toma un binario de entrada (Ejecutable ELF u objeto compartido) y genera un binario de salida con algún parche/modificación aplicada. El binario parcheado puede usarse como un reemplazo directo del original.

Lanzamiento

Los binarios precompilados de E9Patch se pueden descargar aquí:

  • https://github.com/GJDuck/e9patch/releases

Compilación

Compilar E9Patch es muy fácil: simplemente ejecute el script build.sh.

Esto compilará automáticamente dos herramientas:

  1. e9patch: el backend de reescritura binaria; y
  2. e9tool: un frontend de desensamblaje lineal para E9Patch.

Ejemplo de uso

E9Patch es utilizable a través del frontend E9Tool.

Por ejemplo, para añadir instrumentación de impresión de instrucciones a todas las instrucciones xor en xterm, podemos usar el siguiente comando:

root@kitploit:~
    $ ./e9tool -M 'asm=/xor.*/' -P print xterm

Esto generará una versión modificada de xterm escrita en el archivo a.out.

El xterm modificado se puede ejecutar con normalidad, pero imprimirá la cadena de ensamblaje de cada instrucción xor ejecutada en stderr:

root@kitploit:~
    $ ./a.out
    xorl %ebp, %ebp
    xorl %ebx, %ebx
    xorl %eax, %eax
    xorl %edx, %edx
    xorl %edi, %edi
    ...

Para una lista completa de opciones y modos compatibles, consulte:

root@kitploit:~
    $ ./e9tool --help

Proyectos

Algunos otros proyectos que usan E9Patch incluyen:

  • RedFat: Un sistema de endurecimiento binario basado en punteros low-fat.
  • E9AFL: Insertar automáticamente instrumentación de AFL en binarios.
  • E9Syscall: Intercepción de llamadas al sistema mediante reescritura binaria estática de libc.so.
  • Hopper: Generación automática de casos de prueba de fuzzing para bibliotecas.
  • EnvFuzz: Fuzzing del entorno del programa.
  • RFF: Fuzzing de caja gris para pruebas de concurrencia.
  • AutoTrace: Trazado simple basado en líneas de código fuente.

Documentación

E9Patch es una herramienta de bajo nivel diseñada para ser integrable en otros proyectos. Para obtener más información, consulte la siguiente documentación:

  • Guía del programador de E9Patch
  • Guía de usuario de E9Tool

Errores

Los errores se pueden informar aquí:

  • https://github.com/GJDuck/e9patch/issues

Versiones

La versión actual de E9Patch está significativamente mejorada en comparación con el prototipo original evaluado en el artículo PLDI'2020. Específicamente:

  • La versión actual implementa varias optimizaciones nuevas y puede generar binarios significativamente más rápidos, a veces por un factor de 2x. Para habilitar las nuevas optimizaciones, pase la opción -O2 a E9Tool.
  • La implementación de la optimización de espacio de Agrupación de Páginas Físicas también se ha mejorado.
  • La cobertura de parcheo también se ha mejorado ligeramente.
  • Se han implementado muchas características nuevas (consulte la documentación).

Licencia

Este software se ha publicado bajo la GNU Public License (GPL) Versión 3.

Algunos archivos específicos se publican bajo la licencia MIT (consulte el preámbulo del archivo).

Publicación

Para más información, consulte nuestro artículo PLDI'2020:

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • Presentación de PLDI'2020 en Youtube

Por favor, cite nuestro artículo de la siguiente manera:

root@kitploit:~
    @inproceedings{e9patch,
        author = {Duck, Gregory J. and Gao, Xiang and Roychoudhury, Abhik},
        title = {Binary rewriting without control flow recovery},
        year = {2020},
        publisher = {Association for Computing Machinery},
        url = {https://doi.org/10.1145/3385412.3385972},
        doi = {10.1145/3385412.3385972},
        booktitle = {Programming Language Design and Implementation (PLDI)}
    }

Agradecimientos

Este trabajo fue parcialmente apoyado por el National Satellite of Excellence in Trustworthy Software Systems, financiado por la National Research Foundation (NRF) de Singapur bajo el programa National Cybersecurity R&D (NCR).

Descargar herramienta