Code Obfuscation

Code obfuscation is a program transformation technique that makes a transformed program harder to understand and/or difficult to reverse engineer but maintain its functionality. Some well-known obfuscation transformations are implmented in Loco. For example, the control flow flattening introduced by Wang is implemented in Loco and the obfuscation technique is evaluated in one of our papers; "Deobfuscation: Reverse Engineering Obfuscated Code".
Using a simple example, we will show how Loco (Diablo with the GUI Lancet and extended to apply code obfuscation transformations) works.