Módulos - norman-ipn/Ofuscador GitHub Wiki

Para facilitar la codificación, el programa deberá estar modularizado, de tal manera que el programa pueda otorgar un código más ofuscado a medida que se añadan los módulos. Se identifican tres módulos importantes:

Módulo de reemplazo de variables


Este módulo se encarga de encontrar todas las variables que tenga el código y reemplazarlas por otras que nada tengan que ver con lo que inicialmente el programador quiso expresar. Pueden ser generadas aleatoriamente o con alguna secuencia definida, lo que hay que tener en cuenta aquí es reemplazar correctamente en todas las apariciones de una variable dentro de un bloque de código.

Ejemplo:

int contadorNotas = 0; -> int e11 = 0;

Módulo de inserción de funciones intermedias


En este módulo inserta funciones de paso, es decir, funciones innecesarias que complican la lectura del código. Estas funciones pueden generar caracteres o números. También podrían generar cadenas, juntando varias llamadas a las funciones definidas anteriormente.

Ejemplo:

int contadorNotas = 0; -> int contadorNotas = func();

Módulo de borrado de espacios


Módulo encargado de eliminar los espacios innecesarios que quedan, así como los saltos de línea que no se usen, tales como espacios entre paréntesis (( i * 4) / 100 -> (i*4)/100), habrá que tener especial cuidado con las directivas y con las declaraciones de variables.