[Python] SignedImporter [was: Criptazione dei file sorgenti per evitare la manomissione]

Manlio Perillo manlio.perillo a gmail.com
Lun 15 Nov 2010 20:13:31 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 14/11/2010 14:00, lex mlist ha scritto:
> Il giorno 13 novembre 2010 22:49, Manlio Perillo
> <manlio.perillo a gmail.com <mailto:manlio.perillo a gmail.com>> ha scritto:
> 
>     Ecco un proof of concept, basato sul PEP 302:
>     http://paste.pocoo.org/show/290997/
> 
> Eccomi,
> 
> Manlio ti chiedo scusa se non ho risposto subito ma ho preferito un
> attimo leggermi la PEP302,  studiarmi il tuo proof e fare qualche prova
> di mio.
> 

Di nulla, anche io mi sono preso il mio tempo.

> Premetto di aver lavorato sulla versione 3.0.1.


> Ho scoperto leggendo la documentazione su 'site' [1] che l'import di
> quest'ultimo e disattivabile passando l'opzione -S
> 

Se embeddi l'interprete, ti basta settare il flag Py_NoSiteFlag.

> [...] 
> Volendo evitare ogni volta l'opzione -S,

Scusa, ma nel tuo caso chiami l'interprete dalla riga di comando, o è
incluso nella tua applicazione?

> [...]
> Leggendola però si nota che la funzione '_PyImportHooks_Init' viene
> invocata appena prima di importare 'site' e addirittura prima di creare
> __main__.
> 

Peccato che questa funzione non sia personalizzabile.

> [...]

> Queste sono le due strade che mi sono venute in mente leggendomi quella
> parte di codice sorgente CPython relativa all'import.
> Adesso stò provando a lavorare sulla seconda strada, appena realizzo
> qualcosa di usufruibile vi segnalo la patch cosi potrete provarla,
> intanto sono aperto ad eventuali consigli/esperienze e analisi da voi
> che ne sapete più di me :)
> 

Ti consiglio anche di chiedere sul newsgroup inglese.


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzhhlsACgkQscQJ24LbaUQ0qACgjoK/Vi2EukeayOIOEAcO5+uR
wiwAni4sxsJuz32Gdmq4ZovztWZsA4jA
=ruG7
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python