
Ofuscar un código Python 2.x y 3.x
variables/clases/funciones/nombres-de-archivos por cadenas aleatorias de longitud definida, luego todos los caracteres a su valor hexadecimalcomentarios, todos los espacios entre líneascódigo/funciones/clases aleatorios con valores siempre diferentes$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git
$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt
$ cd Intensio-Obfuscator/src/intensio_obfuscator
$ python3 intensio_obfuscator.py --help
$ python3 -m pip install intensio-obfuscator
$ intensio_obfuscator --help
| Características | Descripciones | Propósito de ofuscación | Compatibilidad con todo tipo de códigos/sintaxis de Python |
|---|---|---|---|
| Eliminar comentarios | Elimina todos los comentarios (esta característica se ejecuta por defecto) | Elimina posibles informaciones de comportamiento | high python files 2 & 3 |
| Eliminar espacios entre líneas | Elimina todos los espacios entre líneas (esta característica se ejecuta por defecto) | Reduce la visibilidad del código en claro | high python files 2 & 3 |
| Corrección de relleno de clases/funciones vacías | Añade relleno a clases y funciones vacías; si la clase o función solo contiene comentarios, la característica por defecto Eliminar comentarios podría dejar una clase o función vacía, esto evitará generar un error (esta característica se ejecuta por defecto) | Ninguno, solo para evitar generar errores | high python files 2 & 3 |
| Reemplazar cadena por cadena mixto | Reemplaza todos los nombres de variables/clases/funciones por cadenas aleatorias de longitud definida | Reduce la visibilidad del código en claro - Retrasa la deducción del comportamiento de variables/clases/funciones | low - high (depende de la cantidad de nombres que se deban excluir o no) python files 2 & 3 |
| Excluir palabras | archivo para excluir palabra (consulta la documentación para el formato) solo para la característica de ofuscación 'reemplazar nombre de archivo' | Información no requerida | Información no requerida |
| Relleno de script | Añade relleno de scripts aleatorios después de cada línea | Reduce la visibilidad del código en claro - añade fragmentos de código/clases/funciones muertos para difuminar y retrasar el análisis de comportamiento del programa | high python file 2 & 3 |
| Reemplazar nombres de archivos | Reemplaza todos los nombres de archivos por cadenas aleatorias de longitud definida | Reduce la visibilidad del código en claro - Reduce la deducción de funcionalidades de los archivos | low python files 2 & 3 |
| Excluir nombres de archivos | archivo para excluir nombres de archivos (consulta la documentación para el formato) solo para la característica de ofuscación 'reemplazar nombre de archivo' | Información no requerida | Información no requerida |
| Reemplazar cadena por hexadecimal | Reemplaza todos los caracteres por su valor hexadecimal | Reduce la visibilidad del código en claro / evita ser detectado por comandos 'grep' por ejemplo |
reemplazar cadena por cadena mixto -> -rts, --replacetostrrelleno de script -> -ps, --paddingscriptreemplazar nombre de archivo -> -rfn, --replacefilenamereemplazar cadena por hexadecimal -> -rth, --replacetohex| Parámetros | Descripciones |
|---|---|
| -h, --help | muestra este mensaje de ayuda y sale |
| -i, --input | directorio fuente - indica un directorio que contiene tu archivo |
| -o, --output | directorio de salida que será ofuscado - indica un directorio vacío que contendrá tu archivo |
| -mlen, --mixerlength | define la longitud de las cadenas aleatorias generadas [lower:32|medium:64|high:128] caracteres cuando se especifican las características --replacetostr o --paddingscripts o -rfn, --replacefilesname o --replacetohex, valores posibles: [lower|medium|high] |
| -ind, --indent | indica la indentación de tu código fuente Python, valores posibles: [2|4|8] |
| -rts, --replacetostr | habilita la característica de ofuscación reemplazar cadena por cadena mixto |
| --excludewords | archivo para excluir palabras específicas (consulta la documentación para el formato) solo para la característica de ofuscación -rts, --replacetostr |
| -ps, --paddingscript | habilita la característica de ofuscación relleno de script |
| -rfn, --replacefilename | habilita la característica de ofuscación reemplazar nombre de archivo |
| --excludefiles | archivo para excluir nombre de archivo (consulta la documentación para el formato) solo para la característica de ofuscación -rfn, --replacefilename |
| -rth, --replacetohex | habilita la característica de ofuscación reemplazar cadena por hexadecimal (python files 2 only) |
| --version | verifica la versión actual |
| -v, --verbose | aumenta la verbosidad |
medium python files 2 only |
| Corrección eliminar archivo pyc | Elimina todos los archivos pyc en el directorio de salida (esta característica se ejecuta por defecto) | Elimina archivos ya compilados sin haber sido ofuscados antes | high python files 2 & 3 |
| Longitud de mezcla baja | Define una longitud de cadenas aleatorias de 32 caracteres cuando se especifican los parámetros -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Cuanto más larga sea la longitud utilizada, más difícil será la visibilidad del código | Información no requerida |
| Longitud de mezcla media | Define una longitud de cadenas aleatorias de 64 caracteres cuando se especifican los parámetros -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Cuanto más larga sea la longitud utilizada, más difícil será la visibilidad del código | Información no requerida |
| Longitud de mezcla alta | Define una longitud de cadenas aleatorias de 128 caracteres cuando se especifican los parámetros -rts, --replacetostr o -ps, --paddingscripts o -rfn, --replacefilesname o -rth, --replacetohex | Cuanto más larga sea la longitud utilizada, más difícil será la visibilidad del código | Información no requerida |