Nokioteca [Nokia] Forum: [python]compilare I .py In .pyc - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[python]compilare I .py In .pyc py2pyc

#1 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 26 aprile 2007 - 22:39

Py2Pyc

In questa breve guida spiegherò come potremo tutelare il nostro codice in python.
Come tutti ben sappiamo quando facciamo un programma in python e lo inseriamo all'interno di un pacchetto sis, il nostro codice è visibile da chiunque... (basta estrarre il pacchetto con unmakesis o simili per tirare fuori il sorgente del nostro programma) E chiunque può copiare o 'migliorare' il nostro codice.. Che se da un lato può essere positivo, dall'altro risulta negativo poichè spesso accade che il codice viene preso da altri sorgenti py senza però fare riferimenti e accenni sul vero autore... Però c'è 1 modo per tutelare il nostro codice.. possiamo compilare i nostri sorgenti .py in compilati .pyc, che risultano non comprensibili ai nostri occhi ma che l'interprete python avvia senza problemi (forse risulta anche un pò più veloce l'avvio di questi script...)
Come fare?
Innanzi tutto bisogna avere
Per visualizzare questo link registrati o esegui il log in.

non altre versioni.. serve la 2.2 altrimenti i .pyc non vi funzioneranno sul cellulare...
Poi scaricate lo script py2pyc.py allegato sotto (estraete lo script dall'archivio .zip)... Aggiungete alle variabili d'ambiente la cartella di dove avete installato python:
tasto destro su risorse del computer->proprietà->avanzate->variabili d'ambiente->Variabili di sistema->Path e aggiungete C:\Python22;
date ok e di nuovo ok...
ora mettete lo script py2pyc.py nella cartella contenente il\i files python da compilare...
per compilarli basta semplicemente digitare in quella cartella questo comando:
python py2pyc.py file1.py file2.py filen.py ecc...
e avrete i vostri .pyc compilati!!! Per usarli basta semplicemente un import:
import file1
import file2
quindi ad esempio se il vostro programma contiene 1 solo script .py, che è lo script del vostro programma principale, basta che compilate lo script e ottenete il .pyc, poi nel file originale .py mettete SOLO
import nomepyc
e poi quando andrete a costruire il pacchetto sis mettete sia il .py che il .pyc nella stessa cartella, la cartella principale...

Download file


Messaggio modificato da dokkis il 26 aprile 2007 - 22:42

0

#2 L   Oper 

  • Millennium Member
  • PuntoPuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 1001
  • Iscritto: 02 dicembre 2005
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 27 aprile 2007 - 13:35

Visualizza Messaggidokkis, il 26/04/2007 - 23:39, ha scritto:

....
Innanzi tutto bisogna avere
Per visualizzare questo link registrati o esegui il log in.

non altre versioni.. serve la 2.2 altrimenti i .pyc non vi funzioneranno sul cellulare...
...

Io ho la versione 2.4.3 (ActivePython 2.4.3 Build 12 based on Python 2.4.3) e infatti non funziona.

Devo installare anche questo 2.2 senza rimuovere l'altro? E con le variabili d'ambiente come la mettiamo?
0

#3 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 27 aprile 2007 - 14:07

Visualizza MessaggiOper, il 27/04/2007 - 14:35, ha scritto:

Io ho la versione 2.4.3 (ActivePython 2.4.3 Build 12 based on Python 2.4.3) e infatti non funziona.

Devo installare anche questo 2.2 senza rimuovere l'altro? E con le variabili d'ambiente come la mettiamo?


con la 2.4 non funziona.. se vai nel compilatore nella shell ti dice qlksa di errato sul 'magic number'...
io ho messo la 2.2 senza disinstallare la 2.4... e ho cambiato la variabile d'ambiente.. quindi di fatto uso la 2.2.. se poi mi servirà usare la 2.4 semplicemente cambio la var d'ambiente alla cartella del python2.4... quindi ovviamente nn duplicare la variabile d'ambiente con sia la versione 2.2 che la 2.4...
poi se nn ti interessa compilare il tuo codice rimani tranquillamente alla 2.4 xD

Messaggio modificato da dokkis il 27 aprile 2007 - 14:08

0

#4 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 27 aprile 2007 - 14:31

ah se volete vedere 1 esempio applicato ad un mio programma... vi allego qua sotto il pacchetto...

Download file


0

#5 L   Oper 

  • Millennium Member
  • PuntoPuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 1001
  • Iscritto: 02 dicembre 2005
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 27 aprile 2007 - 15:06

Visualizza Messaggidokkis, il 27/04/2007 - 15:07, ha scritto:

con la 2.4 non funziona.. se vai nel compilatore nella shell ti dice qlksa di errato sul 'magic number'...
io ho messo la 2.2 senza disinstallare la 2.4... e ho cambiato la variabile d'ambiente.. quindi di fatto uso la 2.2.. se poi mi servirà usare la 2.4 semplicemente cambio la var d'ambiente alla cartella del python2.4... quindi ovviamente nn duplicare la variabile d'ambiente con sia la versione 2.2 che la 2.4...
poi se nn ti interessa compilare il tuo codice rimani tranquillamente alla 2.4 xD


Infatti avevo già visto che con la 2.4 non andava.

Comunque prima ho già provato (non ho resistito di aspettare una tua risposta B) ) e ho fatto in questo modo per non incasinare il tutto
nell'installazione non gli ho dato la possibilità di assciare i file .py e ho solo modificato il path
quindi se mi serve il 2.4 tolgo solo il path

Con questo sistema ho compilato e funziona OK.
0

#6 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 27 aprile 2007 - 16:20

Visualizza MessaggiOper, il 27/04/2007 - 16:06, ha scritto:

Infatti avevo già visto che con la 2.4 non andava.

Comunque prima ho già provato (non ho resistito di aspettare una tua risposta B) ) e ho fatto in questo modo per non incasinare il tutto
nell'installazione non gli ho dato la possibilità di assciare i file .py e ho solo modificato il path
quindi se mi serve il 2.4 tolgo solo il path

Con questo sistema ho compilato e funziona OK.

bene.. prego eh B)
cmq io il python lo sto mettendo un pò da parte... mi sto addentrando nel symbian c++.. sperando di riuscire a fare bene anche lì... ho letto circa 80-90 pag di manuali introduttori al symbian c++.. e ancora sono lontano dal poter fare sw non complessi... forse con la prossima guida riuscirò ad apprendere cose un pò più utili ai fini della programmazione.. dato che la prima parte è molto più sul teorico xD
0

#7 L   Enzo74 

  • Millennium Member
  • Gruppo: Veteran
  • Messaggi: 2237
  • Iscritto: 03 dicembre 2005
  • Cellulare:Nokia 5800

Inviato 27 aprile 2007 - 17:21

carino... in effetti le versioni di pys60 si basano sulla 2.2... ottimo direi
0

#8 L   Oper 

  • Millennium Member
  • PuntoPuntoPuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 1001
  • Iscritto: 02 dicembre 2005
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 28 aprile 2007 - 08:00

Ancora una volta Dokkis ha fatto un ottimo lavoro.

Con questo sistema di compilare i .py in .pyc con DesktOper ho abbattuto più di 300 kb di ram (non è molto, ma ora parte anche TT B) che si prende 5 mega solo lui)
0

#9 L   dokkis 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 828
  • Iscritto: 22 ottobre 2006
  • Località:Italia->Roma
  • Cellulare:NoKia 6630

Inviato 28 aprile 2007 - 10:30

Visualizza MessaggiOper, il 28/04/2007 - 09:00, ha scritto:

Ancora una volta Dokkis ha fatto un ottimo lavoro.

Con questo sistema di compilare i .py in .pyc con DesktOper ho abbattuto più di 300 kb di ram (non è molto, ma ora parte anche TT B) che si prende 5 mega solo lui)


B)
Si oltre all'utilità di "offuscare" il codice a quanto ho visto rende anche leggermente più leggera l'applicazione in termini di grandezza fisica, del sorgente, e virtuale, ram, alla sua esecuzione...
Quindi abb. buona come cosa xD
0

#10 L   Enzo74 

  • Millennium Member
  • Gruppo: Veteran
  • Messaggi: 2237
  • Iscritto: 03 dicembre 2005
  • Cellulare:Nokia 5800

Inviato 29 aprile 2007 - 10:06

dokkis hai testato anche la compatibilità con gli altri cell quando si distribuisce il tutto compilando il sis? penso che non faccia differenza includere nel sis un py o un pyd
0

#11 L   fpg_87 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 19
  • Iscritto: 27 ottobre 2006

Inviato 29 aprile 2007 - 10:44

ma è possibbile fare un reversing di un programma???
0

#12 L   Matteo6630 

  • Advanced Member
  • Gruppo: Developer
  • Messaggi: 72
  • Iscritto: 04 dicembre 2005
  • Località:Hanwell W7 2PB, London
  • Cellulare:Nokia 6630

Inviato 30 aprile 2007 - 10:49

Visualizza Messaggifpg_87, il 29/04/2007 - 10:44, ha scritto:

ma è possibbile fare un reversing di un programma???


Come avevo scritto in un mio lontanissimo post decompilare un file .pyc è più facile che rubare le caramelle da un bambino.

Per visualizzare questo link registrati o esegui il log in.


Ovviamente i file .pyc sono molto più veloci da eseguire dal CPython interpreter in quanto compilati in bytecode.

Non sono a conoscenza di una versione per windows del Decompyle, in ogni caso puoi sempre ricorrere a cygwin.

Cheers.
0

#13 L   discostu 

  • Advanced Member
  • PuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 232
  • Iscritto: 19 maggio 2007
  • Cellulare:E52
  • Firmware:v021.013

Inviato 11 maggio 2009 - 10:32

Ma nel prompt dei comandi devo digitare tutto questo nella cartella Python22:

python ensymble.py py2sis --icon=JackSMS.svg --appname=JackSMS --version=1.13.0 --lang=EN,IT --caps=NetworkServices+ReadDeviceData+ReadUserData+WriteUserData+LocalServices+Use
rEnvironment JackSMS.pyc JackSMS.py JackSMS.sis

0

#14 L   xarese 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 17
  • Iscritto: 13 novembre 2009
  • Cellulare:N97

Inviato 11 marzo 2010 - 20:31

come si crea un pacchetto sis dal pc aiuto!!!
0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione