Battelle/movfuscator
FreeThe single instruction C compiler
About Battelle/movfuscator
M/o/Vfuscator (short 'o', sounds like 'mobfuscator') is an open-source C compiler that transforms programs into executables composed solely of 'mov' instructions. It achieves full program functionality—including arithmetic, comparisons, jumps, and function calls—without self-modifying code, transport-triggered calculation, or other non-mov techniques. The compiler currently targets the C language and x86 architecture but is designed to be adaptable to other languages and processors. It uses LCC as its frontend and includes build, check, and install scripts for easy setup. Debugging flags such as --mov-id and --mov-flow are provided to assist analysis. Examples include compiling a prime number function and a Nibbles game.
Key Features
Pros & Cons
- Unique minimal instruction set approach (only mov)
- Open-source and freely available on GitHub
- Provides detailed build and testing scripts for reproducibility
- Adaptable design allows targeting other languages and architectures
- Interesting for security researchers and compiler enthusiasts
- Not suitable for production use due to extreme performance overhead
- Currently limited to C language and x86 architecture
- No official support or documentation beyond the GitHub repository
- Large code size and slow execution compared to traditional compilers