Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
VehApiResolve — Résout les API Windows à l'exécution à l'aide de gestionnaires d'exceptions vectorisés et de recherches par hachage pour masquer les imports et ralentir la rétro-ingénierie des charges utiles offensives. | Kitploit
Outils/GitHubGitHub/rad9800/vehapiresolve
Red TeamingDéveloppement de Charges UtilesAttaque Adversariale
GitHubrad9800/vehapiresolve

VehApiResolve

Résout les API Windows à l'exécution à l'aide de gestionnaires d'exceptions vectorisés et de recherches par hachage pour masquer les imports et ralentir la rétro-ingénierie des charges utiles offensives.

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

VehApiResolve

Inspiré par l'obfuscation d'API 32 bits du chargeur Dridex.

Comment cela fonctionne-t-il ?

Nous configurons un gestionnaire d'exceptions.

AddVectoredExceptionHandler( CALL_FIRST, ApiResolverHandler );

Ce gestionnaire d'exceptions ne traitera que les exceptions levées en tant que EXCEPTION_BREAKPOINT. Lorsqu'elle est levée par nous, nous sommes capables de capturer le CONTEXT. Nous pouvons obtenir les arguments passés. RDX et R8 contiendront notre fonction et le hash du module. Nous pouvons ensuite les résoudre dynamiquement avec GetProcAddrExH comme on le voit

ExceptionInfo->ContextRecord->Rax = (ULONG_PTR)GetProcAddrExH( ExceptionInfo->ContextRecord->Rdx, ExceptionInfo->ContextRecord->R8 );

RAX est souvent utilisé pour retourner des valeurs. Lorsque nous revenons, si l'adresse a été résolue, elle sera retournée.

LazyRet proc
	int 3	; lève une exception
	ret		; rax contiendra l'adresse
LazyRet endp
  1. Lever une exception.
  2. Gérer cette exception.
  3. Résoudre la fonction requise.
  4. La stocker dans RAX.
  5. Retourner.

Nous pouvons ensuite utiliser cette adresse.

Pourquoi ?

Cela rend probablement la vie d'un ingénieur en rétro-ingénierie plus difficile, ce qui est toujours une bonne chose.

Télécharger l’outil