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
vmp2 — VMProtect2 Deobfuscation Tooling | Kitploit
Outils/GitHubGitHub/backengineering/vmp2
Dynamic Analysis (Sandboxing)Vulnerability AnalysisReverse EngineeringDebuggersBinary AnalysisPapers & ResearchLearning & EducationFirmware AnalysisBinary ExploitationArchived
GitHubbackengineering/vmp2

vmp2

13022il y a 9 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

VMProtect2 Deobfuscation Tooling

Voir le dépôt

Introduction

Ce dépôt est une collection d'outils hérités pour travailler avec des binaires protégés par VMProtect 2.
Ces outils permettent le dépaquetage, l'analyse et la dévirtualisation expérimentale de logiciels protégés par VMProtect 2. Au cœur de cette collection se trouve vmprofiler, une bibliothèque utilitaire qui fournit la logique fondamentale utilisée par tous les autres outils. Elle est responsable de l'identification des composants clés de VMProtect 2 tels que les handlers VM, la table des handlers, les transformations, etc.

Avertissement

Les leçons tirées de ce projet vieux de plus de 4 ans devraient être transmises à ceux qui s'intéressent à la dévirtualisation.

Ce projet tente d'identifier des handlers VM individuels. Cette approche est fragile, ne passe pas à l'échelle et peut être contrecarrée par des modifications de l'architecture de la machine virtuelle (interconnexion de plusieurs handlers, handlers complexes, etc.). Au lieu de cela, je préconise une stratégie de remontée incrémentale et de reconstruction du flot de contrôle avec une logique minimale de désobfuscation spécifique à la VM. Des outils comme Saturn, Dna by Colton, Triton et Mergen ont désobfusqué VMProtect avec peu ou pas d'identification de handlers spécifiques à la VM. Ce dépôt documente l'architecture de VMProtect 2 et sert d'avertissement : évitez de construire des outils de dévirtualisation qui dépendent fortement de l'identification de handlers spécifiques à la machine virtuelle.

Une approche semi-générique de la dévirtualisation de VMProtect nécessite un framework robuste qui prend en charge la propagation load/store, la propagation de constantes de section, l'élimination de code mort (DCE) et quelques autres optimisations simples. Beaucoup de gens tentent d'utiliser LLVM pour compiler de nouveau en natif ; cependant, je crois que cette approche donnera toujours des résultats moins que souhaitables. Nous avons notre propre framework, blare2, qui offre des capacités de remontée et d'abaissement 1:1 propres que nous exploitons à des fins de désobfuscation. Si vous êtes intéressé par des services de conseil en désobfuscation, c'est quelque chose que nous pouvons fournir si notre emploi du temps le permet.


Aperçu des outils

  • vmemu
    Un outil d'exploration de machine virtuelle basé sur Unicorn Engine. Il permet de dépaqueter des programmes protégés et d'analyser le flot de contrôle dans un vmenter spécifié.
    Cet outil génère un fichier .vmp2 contenant le graphe de flot de contrôle de l'entrée VM donnée.
    Le fichier .vmp2 résultant peut ensuite être passé à vmdevirt pour recompiler la fonction en x86 natif et la réintégrer dans le binaire d'origine. Veuillez noter que ce n'est PAS un simple traceur qui ne découvrirait qu'un seul chemin à travers une fonction, il identifie en fait les jccs virtuels et explorera tout le flot de contrôle virtualisé.

  • vmdevirt
    Un recompilateur expérimental basé sur LLVM pour les fichiers .vmp2.
    Bien que fonctionnel, il est considéré comme hautement expérimental et instable, et cette approche est généralement déconseillée.

  • vmassembler
    Un assembleur expérimental pour encoder des opérations de machine virtuelle définies par l'utilisateur.
    Ce projet démontre une compréhension technique approfondie de l'architecture de la machine virtuelle VMProtect 2.

  • vmhook
    Un outil conçu pour intercepter la machine virtuelle VMProtect 2 à l'exécution, permettant une introspection détaillée des .


Dépaqueteur VMProtect 2

Veuillez suivre les instructions sur cette page.

Instructions de compilation

Prérequis

  • CMake ≥ 3.11
  • Compilateur C++
  • Visual Studios 2022 pour vmhook
  • Au moins 50 Go d'espace libre pour LLVM et autres artefacts de compilation

Configuration pour vmassembler, vmemu, vmprofiler et vmprofiler-cli :

root@kitploit:~
cmake -B build
cmake --build build

Avec vmdevirt (téléchargera et compilera LLVM !) :

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

Avec vmprofiler-qt :

root@kitploit:~
cmake -B build -DBUILD_VMPROFILER_QT=ON
cmake --build build

Les deux modules optionnels :

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DBUILD_VMPROFILER_QT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

Avertissement légal

Ces outils sont fournis uniquement à des fins éducatives et de recherche. Ils ne doivent pas être utilisés pour des activités illégales, des accès non autorisés ou des violations du DMCA ou d'autres lois. Les outils eux-mêmes ne violent aucune réglementation DMCA. Tout le travail est ma création originale, et toute action entreprise par les utilisateurs de ces outils est de la seule responsabilité de ces utilisateurs et ne reflète pas les actions ou les intentions de l'auteur.

Télécharger l’outil
handlers VM individuels
  • vmprofiler
    La bibliothèque utilitaire centrale qui alimente tous les autres outils.
    Elle inclut la correspondance de motifs de handlers VM, l'extraction de la table des handlers, l'élimination de code mort (DCE) et d'autres routines d'analyse essentielles.

  • vmprofiler-cli
    Une interface en ligne de commande pour vmprofiler, permettant aux utilisateurs d'afficher et d'inspecter les informations extraites dans un format textuel.

  • vmprofiler-qt
    Un désassembleur graphique basé sur Qt pour le bytecode VMProtect 2, offrant une exploration interactive et visuelle du code virtualisé.