Sommaire

Introduction Obfuscation

L’obfuscation, dans le domaine du développement informatique, consiste à transformer un programme de manière à rendre sa compréhension difficile tout en préservant son comportement. L’idée est de rendre le code du programme le moins intuitif possible de manière à rendre sa lecture complexe. Cette pratique peut paraître surprenante pour les développeurs. En effet, généralement, un bon programme possède un code parfaitement lisible afin de faciliter sa maintenance, d’autres personnes pouvant le modifier, le corriger ou l’améliorer.

L’obfuscation de code est utilisée dans trois cas de figure :

  • Protéger une propriété intellectuelle, certaines sociétés ne veulent pas que des concurrents puissent copier leur savoir-faire ou ne souhaitent pas que leurs produits puissent être copiés et utilisés illégalement (sans payer de licence). 

  • Ralentir les analyses, dans le cas de l’analyse de malware, car plus l’analyse prendra du temps, plus longtemps le malware restera fonctionnel.

  • Rendre les antivirus moins efficaces, car après obfuscation le binaire peut sembler différent et ne pas correspondre à une signature existante.

Il existe une multitude de manières de rendre un code très compliqué à lire. Dans l’analyse de malwares, une méthode fréquemment utilisée est l’obfuscation ...