Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
e9patch — Un puissant outil de réécriture statique de binaires | Kitploit
Outils/GitHubGitHub/gjduck/e9patch
Rétro-ingénierieFuzzingAnalyse de BinairesExploitation de Binaires
GitHubgjduck/e9patch

e9patch

Un puissant outil de réécriture statique de binaires

Voir le dépôt
1.1k70il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

  E9Patch - Un puissant réécrivain statique de binaires

E9Patch est un outil puissant de réécriture statique de binaires pour les binaires ELF Linux x86_64. E9Patch est :

  • Évolutif : E9Patch peut réécrire de manière fiable des binaires volumineux/complexes, y compris des navigateurs Web (taille >100 Mo).
  • Compatible : Le binaire réécrit est un remplacement direct de l'original, sans dépendances supplémentaires.
  • Rapide : E9Patch peut réécrire la plupart des binaires en quelques secondes.
  • Faible surcoût : à la fois en performance et en mémoire.
  • Programmable : E9Patch est conçu pour pouvoir être facilement intégré dans d'autres projets. Consultez le Guide de l'utilisateur d'E9Tool et le Guide du programmeur d'E9Patch pour plus d'informations.

La réécriture statique de binaires prend un binaire d'entrée (exécutable ELF ou objet partagé) et génère un binaire de sortie avec un correctif/modification qui lui est appliqué. Le binaire patché peut être utilisé comme un remplacement direct de l'original.

Version

Les binaires E9Patch pré-construits peuvent être téléchargés ici :

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

Compilation

Compiler E9Patch est très simple : exécutez simplement le script build.sh.

Cela va automatiquement compiler deux outils :

  1. e9patch : le backend de réécriture de binaires ; et
  2. e9tool : un frontal de désassemblage linéaire pour E9Patch.

Exemple d'utilisation

E9Patch est utilisable via le frontal E9Tool.

Par exemple, pour ajouter une instrumentation d'impression d'instructions à toutes les instructions xor dans xterm, nous pouvons utiliser la commande suivante :

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

Cela générera une version modifiée de xterm écrite dans le fichier a.out.

Le xterm modifié peut être exécuté normalement, mais il imprimera la chaîne assembleur de chaque instruction xor exécutée sur stderr :

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

Pour une liste complète des options et modes pris en charge, consultez :

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

Projets

Quelques autres projets qui utilisent E9Patch incluent :

  • RedFat : Un système de durcissement de binaires basé sur les pointeurs low-fat.
  • E9AFL : Insérer automatiquement une instrumentation AFL dans les binaires.
  • E9Syscall : Interception d'appels système par réécriture statique de libc.so.
  • Hopper : Génération automatique de cas de test de fuzzing pour les bibliothèques.
  • EnvFuzz : Fuzzing de l'environnement du programme.
  • RFF : Fuzzing en boîte grise pour les tests de concurrence.
  • AutoTrace : Traçage simple basé sur les lignes source.

Documentation

E9Patch est un outil de bas niveau conçu pour être intégrable dans d'autres projets. Pour en savoir plus, veuillez consulter la documentation suivante :

  • Guide du programmeur d'E9Patch
  • Guide de l'utilisateur d'E9Tool

Bogues

Les bogues peuvent être signalés ici :

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

Versions

La version actuelle d'E9Patch est considérablement améliorée par rapport au prototype original évalué dans l'article PLDI'2020. Plus précisément :

  • La version actuelle met en œuvre plusieurs nouvelles optimisations et peut générer des binaires considérablement plus rapides, parfois par un facteur de 2x. Pour activer les nouvelles optimisations, passez l'option -O2 à E9Tool.
  • L'implémentation de l'optimisation d'espace Physical Page Grouping a également été améliorée.
  • La couverture de patching a également été légèrement améliorée.
  • De nombreuses nouvelles fonctionnalités ont été implémentées (voir la documentation).

Licence

Ce logiciel a été publié sous la licence publique GNU (GPL) version 3.

Certains fichiers spécifiques sont publiés sous la licence MIT (vérifiez le préambule du fichier).

Publication

Pour plus d'informations, veuillez consulter notre article PLDI'2020 :

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • Présentation PLDI'2020 sur Youtube

Veuillez citer notre article comme suit :

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)}
    }

Remerciements

Ce travail a été partiellement soutenu par le National Satellite of Excellence in Trustworthy Software Systems, financé par la National Research Foundation (NRF) de Singapour dans le cadre du programme national de R&D en cybersécurité (NCR).

Télécharger l’outil