Como un efecto lateral, la ofuscación, en ocasiones, hace que los programas resultantes sean más pequeños (aunque puede hacer que los programas sean más grandes en otros casos).
Además, a veces, también se puede buscar que el código fuente resulte una obra de ascii art.
El motivo original puede ser por:[1] Un ejemplo simple de ofuscación es llamar a las variables o funciones con palabras reservadas del lenguaje añadiendo algún símbolo Con esta línea se define una variable de tipo entero.
Por ejemplo Obfuscator-LLVM es una suit de compilación sobre LLVM que permite ofuscar el programa.
[8] Se han creado varias herramientas que utilizan este tipo de ofuscación, como por ejemplo VMProtect, WProtect,[9] Code Virtualizer y Themida.
Por diferentes motivos (ingeniería inversa, sabotajes, piratería de software....) a veces es necesario ofuscar el código intermedio para impedir la decompilación o hacer que esta obtenga un código incomprensible.
PointGuard cifra los valores de los punteros cuando estos están en memoria aplicando una XOR con una clave generada aleatoriamente cuando el proceso del programa arranca.
[5] Hay multitud de herramientas para ofuscar, cada una aplicable a un lenguaje distintos.