- Código ofuscado
-
Código ofuscado
El Código ofuscado es aquél código que, aunque se tiene el código fuente, ha sido enrevesado específicamente para ocultar su funcionalidad (hacerlo ininteligible).
Algunos tienden más a la ofuscación que otros. C, C++ y Perl son los más citados como fácilmente ofuscables. Las macros de preprocesador son usadas a menudo para crear código complicado de leer enmascarando la gramática y sintaxis estándar del lenguaje del cuerpo principal de código.
Aparte de los lenguajes más conocidos, existen lenguajes de programación esotéricos. Además, también se puede buscar que el código fuente resulte una obra de ascii art. Existen otros programas ofuscados llamados quine que al ejecutarse la salida debe ser el código fuente del programa.
También hay programas ofuscadores que pueden actuar sobre el código fuente, código objeto o ambos para dificultar la ingeniería inversa.
Ejemplos
Un ejemplo simple de ofuscación es llamar a las variables o funciones con palabras reservadas del lenguaje añadiendo algún símbolo
int int_;
Con esta línea definimos una variable de tipo entero.
long int _int(int int_){return int_-int_};
Con esta línea definimos una función con un parámetro entero que devuelve un valor long int, que por otra parte siempre será 0.
_int-_int;
Esto equivale a poner 0.
(_int-_int)!;
Esto equivale a poner 1.
(((!(int_-int_)<<!(int_-int_))<<(!(int_-int_)<<!(int_-int_)))|(!(int_-int_)<<!(int_-int_)));
Esto equivale a poner 10.
Enlaces externos
Categorías: Programación | Antipatrón de diseño
Wikimedia foundation. 2010.