On Tue, Nov 16, 2010 at 01:45:16PM +0100, Manlio Perillo wrote: [...] > > prima di tutto il modulo stesso deve essere importato e prima di essere > > importato non c'? nessun controllo sul modulo stesso, ergo basta > > modificare il modulo `secimport`. > > Infatti per maggiore sicurezza l'hook pu� essere implementato in C. > Si parlava infatti del caso in cui una applicazione vuole embedare > l'interprete Python.
avevo capito ma comunque il modulo � stato scritto in python, non in C. > > quando fai il controllo del file `__init__.py` si deve controllare anche > > i relativi `.pyc` e `.pyo`, infatti basta modificare a piacere il file > > `__init__.py`, copiare il bytecode nella giusta posizione, il file > > `__init__.py` rimane quello originale ma viene modificato l'mtime. > > `secimport` controlla il file `__init__.py` ma l'importer python > > caricher? il bytecode modificato. > > Questo � un punto su cui non sono sicuro. > Innanzitutto, comunque, secimport *non* controlla __init__.py ma il > modulo __init__. > fp, pathname, descr = imp.find_module('__init__', [self.pathname]) linea 78 in load_module, viene verificato il checksum del file `__init__.py`. > > di questo punto non sono sicuro, ma non vengono effettuati controlli > > sulle estenzioni C, l'unico controllo ? > > No, quelle non sono estensioni C; sono moduli *builtin*, linkati > **staticamente** nell'interprete cpython. cancello dagli atti questa affermazione, non conosco bene `imp` ed alcune mie assunzioni erano sbagliate. ciao m. -- La calunnia � un venticello Un'auretta assai gentile Che insensibile, sottile, Leggermente, dolcemente, Incomincia a susurrar. -- Basilio, Il barbiere di Siviglia
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python