Skip to content

Glossary

Obfuscation par virtualisation

Technique avancée qui traduit les instructions natives en bytecode personnalisé exécuté par un interpréteur embarqué, déjouant les désassembleurs usuels.

L'obfuscation par virtualisation (aussi appelée protection à base de VM ou VM packing) traduit des fonctions sélectionnées du code machine natif en un bytecode propriétaire et embarque un interpréteur personnalisé (machine virtuelle) dans le binaire pour l'exécuter. Parce que les désassembleurs et décompilateurs standard ne comprennent que les instructions d'une ISA réelle, ils ne peuvent pas analyser directement le code virtualisé. Le reverser exige de comprendre d'abord le jeu d'opcodes personnalisé et la boucle de dispatch de la VM — une tâche qui peut prendre des jours ou des semaines. Des protecteurs commerciaux comme VMProtect, Themida et Code Virtualizer implémentent cette technique. L'exécution symbolique et des outils de dévirtualisation spécialisés (par exemple SATURN) sont employés pour attaquer ces protections.