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
IronPE — Chargeur manuel de PE Windows basé sur Rust qui mappe et exécute des exécutables x86/x64 depuis la mémoire, démontrant le comportement interne du chargeur et la structure PE pour la recherche éducative. | Kitploit
Outils/GitHubGitHub/iss4cf0ng/ironpe
Criminalistique MémoireExploitationRétro-ingénierieShellcodeAnalyse de BinairesApprentissage et ÉducationDéveloppement de Charges UtilesExploitation de Binaires
GitHubiss4cf0ng/ironpe

IronPE

Chargeur manuel de PE Windows basé sur Rust qui mappe et exécute des exécutables x86/x64 depuis la mémoire, démontrant le comportement interne du chargeur et la structure PE pour la recherche éducative.

Voir le dépôt
124194il y a 6 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

IronPE - Chargeur manuel minimal de PE Windows écrit en Rust.

Implémentation de chargeur PE / mappage manuel en Rust

status language license Release

IronPE est un chargeur manuel minimal de PE Windows écrit en Rust pour les fichiers PE x86 et x64.

Ce projet est une réimplémentation en Rust de mon précédent projet dotNetPELoader, qui implémentait un chargeur manuel de PE en C#.

L'objectif d'IronPE est d'explorer comment Windows charge les exécutables portables en interne et de montrer comment ce processus peut être implémenté en Rust.


Waaaahhhhhhh!

Si vous trouvez ce projet utile ou instructif, un ⭐ serait apprécié !

Avertissement

Ce projet est destiné uniquement à des fins éducatives et de recherche.

Il est conçu pour aider à comprendre :

  • Les mécanismes internes des PE Windows
  • Les techniques de chargement manuel
  • Les concepts de rétro-ingénierie

Fonctionnalités

  • Chargement manuel de PE
  • Mappage des sections
  • Relocalisations de base
  • Résolution des imports
  • Exécution de PE depuis la mémoire
  • Prise en charge des PE x86 et x64

Contexte

Ce projet s'inspire de ma précédente implémentation :

  • dotNetPELoader (C#)

Dans ce projet, j'ai implémenté un chargeur PE en utilisant .NET et WinAPI.
IronPE réécrit le même concept en Rust, qui offre une meilleure sécurité mémoire tout en permettant l'accès aux API Windows de bas niveau.

Le but de ce projet est éducatif, pour mieux comprendre :

  • La structure des fichiers PE
  • Le comportement du chargeur Windows
  • Les techniques de mappage manuel de PE

Comment ça fonctionne

IronPE effectue les étapes suivantes pour exécuter un fichier PE depuis la mémoire :

  1. Lire le fichier PE en mémoire
  2. Analyser les en-têtes PE
  3. Allouer de la mémoire avec VirtualAlloc
  4. Copier les en-têtes et sections PE
  5. Appliquer les relocalisations de base
  6. Résoudre les imports avec LoadLibrary et GetProcAddress
  7. Transférer l'exécution au point d'entrée d'origine (OEP)

Ce processus imite le comportement du chargeur PE Windows.

Un PE x64 ne peut pas être chargé par un chargeur x86, et vice versa.

Compilation

Prérequis :

  • Rust (cargo, rustc)
  • Windows

Compiler le projet :

root@kitploit:~
cd IronPE
build.bat

Utilisation

root@kitploit:~
IronPE.exe --coffee
IronPE.exe --x86 <x86_pe_file>
IronPE.exe --x64 <x64_pe_file>

Exemple :

root@kitploit:~
IronPE.exe --x86 Win32\mimikatz.exe
IronPE.exe --x64 x64\mimikatz.exe

Démo (Exécution de mimikatz)

x86


x64


Architecture du chargeur et du PE incompatibles (Erreur)

Télécharger l’outil