What problem does it solve?
LLVM-based protections help you reduce reverse-engineering, signature-based detection, and automated deobfuscation by transforming code and data without changing intended behavior.
Core Features & Use Cases
- Control Flow Obfuscation: Apply control flow flattening, bogus control flow via opaque predicates, and CFG randomization to make analysis and reconstruction difficult.
- Data Obfuscation: Encrypt string literals at compile time with runtime decryption, substitute constants with equivalent expressions, and split variables to increase uncertainty.
- Code Transformation & Virtualization: Perform instruction substitution and mixed boolean-arithmetic (MBA) transforms, and use virtualization (VMP) to convert logic into embedded bytecode.
Quick Start
Use the llvm-obfuscation skill to design and implement an LLVM pass that applies string encryption and control flow flattening to selected functions in your NeverC/LLVM pipeline.