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.