pyobfuscate ofuscar ofuscacion codigo python obfuscation

ofuscar - Ofuscación del código Python



ofuscar codigo python (7)

En muchas situaciones, puede enviar archivos .pyc compilados en bytes en lugar de los archivos fuente .py. Esto te da un cierto nivel de ofuscación. Como lo sugiere el piadoso LÉAME, esto tiene limitaciones. Pero puede combinar los dos enfoques.

¿Conoces alguna herramienta que pueda ayudarme a ofuscar el código python?


Su espacio problemático no está especificado. ¿Es esto para una aplicación de línea de comandos? ¿Se supone que este código debe usarse como una biblioteca?

Además de las otras dos respuestas, puede insertar el código en un binario. Cuando comienza, decodifica el código y evalúa la cadena. Esto también funciona para una extensión de biblioteca compartida. También podría hacer eso con código de bytes, creo, pero no sería tan simple como llamar a Py_EvalCode.

py2exe o freeze son otra solución, que convierte el código en un ejecutable. Simplemente incluye el código en el binario y no hace ningún tipo de obstrucción, pero aún es más difícil que abrir un archivo .py.

Puede escribir el código en Cython, que es similar a Python y escribe archivos de extensión de Python en C, para usar como .so. Quizás sea el más difícil de estos para realizar ingeniería inversa y aún así proporcionarle un lenguaje de alto nivel para el desarrollo.

Todos son hackeables, como todas las soluciones. ¿Cuán difícil es para ti querer que sea?



La biblioteca estándar de Python incluye compileall.py . Puede ejecutar esto en un directorio y generará archivos .pyc para todos sus archivos fuente. Los archivos .pyc solo incluirán bytecode y docstrings, y eliminarán todos los comentarios. Luego puede copiar este directorio y luego ejecutar algo como rm -rf $(find . -name .py) para eliminar los archivos fuente originales.


Su mejor opción es compilarlo utilizando Shed Skin , un compilador experimental de Python a C ++.


De hecho, encontré un proyecto muy bueno que básicamente convierte Python en C ++ y crea un archivo binario enlazado estáticamente.

Mira esto: http://www.nuitka.net/


Aunque no ofusca, esta receta de Python funciona muy bien para minimizar el tamaño del código de Python, incluida la eliminación de comentarios.