cd ../projects/
$ cat py-c-obfuscator.md

Py-C-obfuscator

A source-to-source C obfuscator written in Python.

Jun 2024
obfuscationpythonccompiler
GitHub

A source-to-source C obfuscator written in Python. Takes C source code as input and outputs a functionally equivalent but obfuscated version.

What it does

Applies a set of obfuscation transformations at the source code level before compilation — making the code harder to read and analyze without affecting its behavior.

Why I built it

As part of my research on obfuscation at Secure-IC, I wanted to explore source-level obfuscation as a complement to compiler-level approaches. Python was a natural choice for rapid prototyping of AST transformations.

What I learned

  • Source-level vs IR-level obfuscation tradeoffs
  • C AST parsing and manipulation in Python
  • How much source-level obfuscation survives compiler optimizations