Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
vmprotect-research — Dévirtualiseur VMProtect généralisé prenant en charge les versions 1.x–3.x. Outil CLI autonome et plugin Ghidra pour le décodage automatisé du bytecode, la classification des handlers et la reconstruction des instructions x86-64 à partir de binaires protégés. | Kitploit
Dévirtualiseur VMProtect généralisé prenant en charge les versions 1.x–3.x. Outil CLI autonome et plugin Ghidra pour le décodage automatisé du bytecode, la classification des handlers et la reconstruction des instructions x86-64 à partir de binaires protégés.
Mécanisme de dispatch (jumptable vs. chaîne chiffrée vs. chaîne de handlers)
Disposition des sections PE (.vmp0, .vmp1, .text)
Modèle de stub d'entrée (PUSH chiffré + CALL/JMP)
Extraction de la table de dispatch
VMP 1.x/2.x : Extraction de clé XOR par correspondance de motifs dans la section .text
Analyse les motifs d'instructions XOR
Dérive les clés des séquences d'opcodes
Valide par rapport à la plage de base de l'image
VMP 3.x : Dispatch par chaîne de handlers
Localise les points de dispatch (DP0-DP5)
Trace les chaînes de handlers
Extrait les 256 entrées de dispatch
Classification des handlers
Correspondance de motifs sur :
Motif d'entrée (49 8b 2a = POP pour VMP 3.x)
Opération principale (SUB, ADD, XOR, etc.)
Types d'opérandes (slot, offset, immédiat)
Mécanisme de dispatch (push/ret, jmp direct)
Décodage du bytecode
Lire l'opcode depuis la section bytecode
Rechercher la sémantique du handler
Extraire les opérandes (slot, offset)
Déchiffrer les opérandes via les chaînes ValueCryptor
Reconstruire l'instruction x86-64
Gérer le contexte VM (fichier de registres, drapeaux, pile)
Limitations connues
VMP 3.7+ (Handlers fusionnés) - Non pris en charge. VMP 3.7+ a introduit des handlers fusionnés (plusieurs opérations par entrée de handler), ce qui casse le classifieur actuel. Nécessite de l'ingénierie inverse avec un échantillon réel 3.7+. Voir FUTURE_WORK.md pour plus de détails.
Avertissements de validation de clé XOR - Attendus pour VMP 1.x/2.x (non critiques)
Détection du dispatch VMP 3.x - Utilise une stratégie de repli pour les obfuscations plus récentes
Échantillons Linux - Non inclus dans le jeu de test actuel (prise en charge ELF implémentée)
Performance
Débit : ~4,4 échantillons/seconde
Mémoire : <50 Mo par échantillon
Latence : 5 ms à 3,25 s selon la taille du binaire