Layout Obfuscations Information that is unnecessary to the execution of the program, such as identifier names and comments, is altered. Identifier scrambling is a common obfuscation that has been applied to other languages. These affect the data structures used by a program. Data storage obfuscations affect how data is stored in memory. For example converting a local variable can be converted into a global one.
Data encoding obfuscations affect how the stored data is interpreted.
Data ordering obfuscations change how data is ordered. The idea here is to disguise the real control flow in a program. Control aggregation obfuscations change the way in which program statements are grouped together. For example, it is possible to inline procedures. That is, replacing a procedure call with the statements from the called procedure itself.