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
RunPE — Chargeur réflexif en C# pour binaires non gérés. | Kitploit
Outils/GitHubGitHub/nettitude/runpe
Outils d'ImpersonationPost-ExploitationTests d'IntrusionRed TeamingDéveloppement de Charges UtilesAttaque Adversariale
GitHubnettitude/runpe

RunPE

Chargeur réflexif en C# pour binaires non gérés.

Voir le dépôt
44765il y a 3 ansVé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

RunPE

Chargeur réflexif C# pour binaires non managés.

Utilisation

root@kitploit:~
Usage: RunPE.exe <file-to-run> <args-to-file-to-run>
        e.g. RunPE.exe C:\Windows\System32\net.exe localgroup administrators

Alternative usage: RunPE.exe ---f <file-to-pretend-to-be> ---b <base64 blob of file bytes> ---a <base64 blob of args>
        e.g: RunPE.exe ---f C:\Windows\System32\svchost.exe ---b <net.exe, base64 encoded> ---a <localgroup administrators, base64 encoded>

Options de configuration de génération

Modifiez les symboles de compilation pour ajuster rapidement le flux du programme : (Clic droit sur le projet dans Visual Studio -> Propriétés -> Générer -> Symboles de compilation conditionnelle)

  • DEBUG (ajouté automatiquement en mode de génération Debug) -> Journalisation très détaillée
  • BREAK_TO_ATTACH -> Affiche "Press Enter to continue..." et attend une entrée afin de pouvoir attacher le débogueur

Limitations de compilation des PE

Les exécutables lancés par RunPE doivent être liés statiquement afin que la redirection de StdOut et StdErr fonctionne correctement. Pour modifier ce paramètre dans Visual Studio :

  • Ouvrez les propriétés du projet
  • Accédez à Configuration Properties -> C/C++ -> Code Generation
  • Remplacez la valeur de Runtime Library par Multi-threaded (/MT) ou Multi-threaded Debug (/MTd)
  • Recompilez le projet

Limitations des arguments

Les exécutables qui n'utilisent pas l'API Windows CommandLineToArgvW pour analyser les arguments ne seront pas transmis correctement via RunPE. Lors de l'exécution de PE dont l'opérateur contrôle la compilation, il est recommandé d'ajouter la prise en charge de l'analyse des arguments à l'aide de cette API.

Par exemple, le code suivant fonctionnera lorsque le programme est exécuté indépendamment, mais échouera lorsqu'il sera transmis à RunPE puisque "foo" a été déplacé vers argv[2] :

root@kitploit:~
if (argv[1] == "foo") {
    bar();
}

Exemple de refactorisation de argv en CommandLineArgvW :

root@kitploit:~
#include <stdio.h>
#include <Windows.h>

int main(int argc, char* argv[]) {
	int nArgs;
	LPWSTR *szArglist;
	
	szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);

	for (int i = 0; i < nArgs; i++) {
		printf("argv[%d]: %ws\n", i, szArglist[i]);
	}

	return 0;
}
Télécharger l’outil