Glossary
Obfuscation
Transformation intentionnelle du code ou des données pour les rendre plus difficiles à comprendre, tout en préservant le comportement du programme.
L'obfuscation est la transformation délibérée du code ou des données pour entraver l'analyse humaine et automatisée sans modifier la sémantique du programme. Les techniques incluent l'insertion de code mort, le remplacement d'opérations simples par des équivalents complexes (substitution arithmétique), l'aplatissement du graphe de flot de contrôle en une boucle de répartition, le chiffrement des chaînes et le renommage des symboles en identifiants aléatoires. Les auteurs de malwares utilisent l'obfuscation pour échapper à la détection par signature et ralentir les reverse engineers. Les formes extrêmes incluent l'obfuscation par virtualisation. Contrer l'obfuscation requiert souvent l'exécution symbolique, le traçage dynamique ou des scripts de désobfuscation sur mesure écrits dans l'API de plugin d'un désassembleur.