[Python] Criptazione dei file sorgenti per evitare la manomissione
Daniele Varrazzo
piro a develer.com
Sab 13 Nov 2010 01:04:58 CET
On Fri, 12 Nov 2010 20:55:15 +0100, lex mlist <lexmlist a gmail.com> wrote:
> Sera a tutti.
>
> Pensavo di incorporare l'interprete di python in un mio progetto C,
visto
> che ho bisogno di permettere ad alcuni non-sviluppatori di sviluppare
> facilmente le loro idee.
> La scelta pende totalmente su di me, ero indeciso tra Python e LUA, ma
> sebbene LUA lo conosco solo di vista, mi sembra che python sia più
> completo,
> almeno in termini di package già pronti (se sbaglio vi prego di
> correggermi).
Sì. Forse Lua è più facile da embeddare (Python non è troppo difficile
comunque). Ma hai il vantaggio di una libreria molto più sostanziosa, come
hai visto.
> Avrei però la necessità di produrre per la release del programma un
> sistema
> di "protezione" per evitare che l'utente possa modificare i sorgenti di
> python e compromettere il flusso di esecuzione del programma.
Basta che distribuisci solo i file .pyc invece dei .py: quelli sono
sufficienti ad eseguire il programma e vengono trovati dall'import. Questo
non è criptare, ma sembra quello che ti serve: è una protezione sufficiente
per evitare tampering da parte di chi non è *veramente* motivato e che
sappia leggere il bytecode.
PyInstaller fornisce anche supporto per creare un unico bundle che
contiene sia l'eseguibile che i .pyc delle librerie che servono (e i
.so/.dll). Probabilmente è facile modificarlo per fargli creare un bundle
con l'eseguibile che vuoi tu invece dell'interprete Python., magari lo fa
già...
Ciao!
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python