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
pe_to_shellcode — Convertit PE en un shellcode | Kitploit
Outils/GitHubGitHub/hasherezade/pe_to_shellcode
ExploitationShellcodeTests d'IntrusionGénération de ShellcodeDéveloppement de Charges UtilesExploitation de Binaires
GitHubhasherezade/pe_to_shellcode

pe_to_shellcode

Convertit PE en un shellcode

Voir le dépôt
2.8k471il y a 11 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
Site web

pe_to_shellcode

Build status GitHub release Github All Releases Github Latest Release

Convertit un PE afin qu'il puisse ensuite être injecté comme un shellcode normal.
(En même temps, le fichier de sortie reste un PE valide).
Prend en charge les PE 32 et 64 bits

Auteurs : @hasherezade & @hh86

Objectif

Le but de ce projet est de fournir la possibilité de générer des fichiers PE qui peuvent être injectés avec un effort minimal. Il est inspiré du ReflectiveDLLInjection de Stephen Fewer - mais la différence est qu'avec pe2shc, vous pouvez ajouter le stub de chargement réfléchissant après la compilation. De plus, l'en-tête du fichier PE est modifié de telle manière que vous pouvez commencer à exécuter le buffer injecté depuis le tout début - comme vous le feriez avec un shellcode. Il trouvera automatiquement le stub et continuera à charger le PE complet.

Périmètre du projet

🟢 Le stub ne prend en charge que les structures de base du format PE, telles que :

  • les relocations
  • les imports
  • les callbacks TLS (appelés une fois, avant l'exécution du point d'entrée)

Veuillez garder à l'esprit que, bien que cela soit suffisant pour la majorité des fichiers PE, certains exécutables que vous pourriez rencontrer utilisent d'autres aspects plus complexes du format PE. Cela signifie que tous les PE ne peuvent pas être convertis avec succès en shellcode.

🚫 Exemples d'éléments actuellement non pris en charge :

  • les exceptions (si l'exécutable que vous avez converti est exécuté comme un shellcode et qu'une exception est levée, le gestionnaire d'exception approprié ne sera pas trouvé et l'application plantera)
  • les imports à chargement différé (seul le support de la table d'importation de base est implémenté)
  • les fichiers MUI (si l'exécutable converti attend que certains éléments de l'interface graphique soient chargés à partir d'un fichier MUI, cela ne fonctionnera pas)

Builds

📦 ⚙️ Téléchargez la dernière version.

Clone

Utilisez un clone récursif pour obtenir le dépôt avec tous les sous-modules :

root@kitploit:~
git clone --recursive https://github.com/hasherezade/pe_to_shellcode.git

Comment l'utiliser

  1. Utilisez pe2shc.exe pour convertir un PE de votre choix :
root@kitploit:~
pe2shc.exe <chemin vers votre PE> [chemin de sortie*]
* - optionnel

Si le PE a été converti avec succès, pe2shc vous indiquera où la sortie a été sauvegardée :

root@kitploit:~
[+] Sauvegardé dans le fichier : <fichier converti>

Exemple :

root@kitploit:~
[+] Sauvegardé dans le fichier : test_file.shc.exe
  1. Utilisez runshc.exe(*) pour exécuter le fichier de sortie et vérifier si la conversion s'est bien passée.
root@kitploit:~
runshc.exe <fichier converti>

(*)Attention : n'oubliez pas d'utiliser la version de runshc avec la bitness appropriée à votre application convertie (32 ou 64 bits) - sinon l'application plantera !

  1. Si le fichier s'exécute comme le PE d'origine, cela confirme que la conversion a réussi !
    Vous pouvez maintenant utiliser le PE converti comme vous utiliseriez un shellcode : injectez-le dans une cible et exécutez-le depuis le début du buffer. Aucun chargeur PE supplémentaire n'est nécessaire.
    En même temps, vous pouvez continuer à utiliser le fichier converti comme un PE normal.
Télécharger l’outil