La Red de Conocimientos Pedagógicos - Currículum vitae - Ofusificación, compilación, empaquetado y ejecución del código del programa Python (dirección anti-craqueo del programa de escritorio)

Ofusificación, compilación, empaquetado y ejecución del código del programa Python (dirección anti-craqueo del programa de escritorio)

Para un lenguaje interpretado como Python, intentar privatizar la implementación y al mismo tiempo proteger el código fuente es como perseguir al pez y la zarpa de oso.

Aunque no puede ser perfecto, ofuscar el código y hacerlo más difícil de descifrar puede evitar algunos riesgos de fuga.

Este entorno de demostración: Linux

Asegúrese de que haya un archivo __main__.py en el directorio raíz ("demo") del paquete que se lanzará. Esta es la entrada de ejecución del programa. .

Compilar

Renombrar archivos .pyc por lotes

Mover archivos .pyc

Limpiar archivos .py

Limpiar la carpeta __pycache__

Empaquetar en zip

Simplemente use el archivo zip como parámetro al ejecutar

Script de integración final

Método de llamada

La confusión sobre los nombres de variables y funciones es un poco infantil, y la confusión sobre los nombres de clases en los archivos es demasiado fácil de implementar.

Por lo tanto, la elección del grado de confusión depende de la escala del proyecto.

2.1 Herramienta de ofuscación pyminifier

Se corrigieron varios errores en la herramienta pyminifier original.

Instalación:

instalación de python3

O clónelo e instálelo usted mismo

Ejemplo de uso

2.2 Fuente cambios de código

Diferentes configuraciones tienen diferentes requisitos para el código fuente. Los siguientes son los errores que ha encontrado el autor.

Otras ideas de ofuscación

Combinando ofuscación, compilación y empaquetado, pruebe el siguiente script de lanzamiento.

La idea principal: crear un directorio de trabajo tmp, luego ofuscar y compilar el código Python en este directorio, empaquetar el contenido en un archivo pyc una vez completado, luego mover el archivo pyc y otros archivos de configuración a dist, y publicar dist es suficiente.

El propósito de la ofuscación es proteger el código fuente en la mayor medida posible para que no pueda descifrarse fácilmente una vez entregado al cliente.