[Python] Criptazione dei file sorgenti per evitare la manomissione

Paolo Bernardi villa.lobos a tiscali.it
Sab 13 Nov 2010 11:46:04 CET


On Sat, 2010-11-13 at 01:04 +0100, Daniele Varrazzo wrote:
> 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.

Direi che basta motivazione sufficiente a spendere 5 minuti per una
ricerchina:

http://sourceforge.net/projects/unpyc/

Se le pretese sono minori invece basta il modulo "dis":

>>> def test(a):
...     print a
... 
>>> test(23)
23
>>> import dis
>>> dis.dis(test)
  2           0 LOAD_FAST                0 (a)
              3 PRINT_ITEM          
              4 PRINT_NEWLINE       
              5 LOAD_CONST               0 (None)
              8 RETURN_VALUE        

Quest'ultimo però in sola lettura, mentre con unpyc si può fare un
intero ciclo decompila->modifica->ricompila.

Paolo
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  490 bytes
Descrizione: This is a digitally signed message part
Url:         http://lists.python.it/pipermail/python/attachments/20101113/6bc42ab2/attachment.pgp 


Maggiori informazioni sulla lista Python