Skip to Main Content
Attackers use rootkits and obfuscation techniques to hide while covertly extracting information from commercial applications. The authors describe how developers can use similar obfuscation approaches to build more agile, less vulnerable software. Obfuscation deliberately transforms software into an identically functioning, but purposefully unreadable form, implemented in a high-level programming language at the machine-instruction level, or, to some extent, in the compiled binary. Obfuscation's only requirement is that its generated code be functionally equivalent to its parent.