Obfuscation de code Python : amélioration des techniques existantesNinon Eyrolles,Serge Guelton

Le langage Python a connu un essor certain ces dix dernières années. Pour faciliter le déploiement ou rendre plus difficile l'accès au code source, des «~packeurs~» d'application ont vu le jour. Ces outils ne se contentent pas d'archiver le code source de l'application accompagné d'un interpréteur Python dans un unique fichier, ils appliquent aussi plusieurs transformation du code ou de l'interpréteur pour rendre plus difficile le travail de rétro-ingénierie.

Cet article étudie les mesures d'obfuscation existantes dans le contexte du langage Python et les contre-mesures qui ont été adoptées. Il propose également plusieurs techniques d'obfuscation reposant sur la modification conjointe du code Python et de l'interpréteur, rendant les stratégies de décompilation pure Python inutilisables.