Devo fornire un programma basato su CLI Python a uno dei miei clienti. Gli darò sia la versione compilata (usando py2exe o qualcosa di simile) dell'applicazione e il codice sorgente.
La struttura dell'applicazione è la seguente:
- una cartella cfg che contiene alcuni file di configurazione (il
.py
principale analizza queste configurazioni usandoconfigparser
module ed elabora i dati al loro interno - una cartella log che conterrà i file di log generati dall'app
- in / out cartelle che verranno utilizzate per i file di input / output
- una cartella elaborata che manterrà i file di input che sono stati utilizzati.
Ora il client fornirà la versione .exe
dell'app ad alcuni client e vuole assicurarsi che l'unica persona che utilizzerà l'app sarà quella a cui l'ha gestito.
Detto questo, ha chiesto un modo / una soluzione hacky per proteggere l'app in un modo o nell'altro. Ha specificato che non ha bisogno di un sistema di protezione del 100% (sappiamo tutti che se c'è una determinata persona responsabile di questo, se ne andrà comunque) ma decente.
So che Python, essendo un linguaggio interpretato in codice byte compilato, è molto difficile da bloccare. Non sto cercando un modo per proteggere il codice. Ho solo bisogno di una specie di sistema di chiavi di licenza incorporato nel mio codice Python.
La domanda sarebbe: in che modo vuoi proteggere la tua applicazione basata su CLI Python?