Releases: Slattz/ObfusC
0.3.0 - Initial Release
Initial 0.3.0 Release
Currently supports LLVM 15, and should work with the new pass manager. Usage in README.
Mixed Boolean Arithmetic
This involves the use of a combination of standard arithmetic operations, such as addition and subtraction, with logical operations, such as AND, NOT, and OR.
Bogus Control Flow
This alters a function’s control flow by inserting conditional jumps that point either into the original basic code block or to a fake basic code block.
Instruction Substitution
This simply replaces standard binary operators with functionally equivalent but more complicated sequences of instructions.
Control Flow Flattening
This involves the transformation of a program's control flow, the sequence of instructions that determines how a program executes, into a more complex and less transparent form. This is accomplished through techniques such as loop unrolling.