Un obfuscateur C source-à-source écrit en Python. Il prend du code C en entrée et produit une version fonctionnellement équivalente mais obfusquée.
Ce que le projet fait
Applique des transformations d’obfuscation au niveau du code source avant compilation, afin de rendre le code plus difficile à lire et à analyser sans en changer le comportement.
Pourquoi je l’ai construit
Dans le cadre de mes travaux sur l’obfuscation chez Secure-IC, je voulais explorer l’obfuscation au niveau source en complément des approches au niveau compilateur. Python était un bon choix pour prototyper rapidement des transformations AST.
Ce que j’ai appris
- Les compromis entre obfuscation au niveau source et au niveau IR
- Le parsing et la manipulation d’AST C en Python
- Ce qui survit (ou non) aux optimisations du compilateur