Stampa | Notifica email    
Autore

PROGRAMMARE CON PYTHON

Ultimo Aggiornamento: 10/09/2011 15:56
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 20:26
 
Modifica
 
Quota

Re:
boboav, 19/01/2010 19.15:

scusate che cambia fra un formato .py e uno .exe




per eseguire il formato py deve avere l'ambiente python installato. invece gli exe sono esguibili da qualsiasi macchina windows.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 20:42
 
Modifica
 
Quota

Re: Re:
ma sei sicuro che prima funzionava e tu non hai cambiato niente? prova ad eseguire questo. ho aggiunto la stampa dei valori che legge dal file.
tenta di convertire in folat anche le stringhe, e poi, come giustamente avevo intuito, arriva alla fine del file, legge solo la t, e quando la comverte in float che vuole 4 byte va in errore..
[Modificato da rhaymo 19/01/2010 20:44]

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
19/01/2010 20:48
 
Modifica
 
Quota

Ma si usa lo stesso linguaggio fra py e exe?
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 20:50
 
Modifica
 
Quota

py è solo per il linguaggio python, exe è un formato comprensibile da windows che può essere ottenuto partendo da vari linguaggi.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
19/01/2010 20:58
 
Modifica
 
Quota

Io ho aperto il kingdoms.exe, il linguaggio degli exe è quello con tutti CC C4......................
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 21:01
 
Modifica
 
Quota

Re:
boboav, 19/01/2010 20.58:

Io ho aperto il kingdoms.exe, il linguaggio degli exe è quello con tutti CC C4......................




e con cosa l'hai aperto? cmq quello è il linguaggio macchina, che è di difficile comprensione anche per chi è del mestiere. per questo i "sorgenti" sono scritti in linguaggi più facili da capire per l'uomo (ma incomprensibili al processore) e poi vengono convertiti automaticamente nel linguaggio macchina.
Fra l'altro quelle cc che hai visto tu potrebbero essere indirizzi e non instruzioni del linguaggio.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
19/01/2010 21:05
 
Modifica
 
Quota

infatti, anzi, quei cc f2 3d.... sono solo la rappresentazione esadecimale dei numeri 10101010101010000001 e senza un interprete o senza il protagonista del film matrix non credo che un essere umano abbia la capacità di capirlo...
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 21:07
 
Modifica
 
Quota

john allora qual è il problema?

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
19/01/2010 21:09
 
Modifica
 
Quota

E come li converto in un formato comprensibile?
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
19/01/2010 21:16
 
Modifica
 
Quota

dovresti prima convertirlo in assembler e poi da lì provare a convertirlo in c o c++. sinceramente non so a cosa ti convenga.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
19/01/2010 21:25
 
Modifica
 
Quota

@ rhaymo
Se intendi il programma non lo so, mi leggerò meglio quando avro tempo i tutorial su Python.

@ boboav, l'argomento che stai portando alla luce si chiama REVERSE ENGINERING ed è il tentativo di certi programmi (DESASSEMBLER) di risalire se non al codice originale almeno al linguaggio Assembly che anche se è un liguaggio di programmazione come Python assomiglia più al livello base base cioè al linguaggio macchina cioè una serie di istruzioni del tipo: metti il valore a in questo posto sommalo al valore b sostituisci la memoria ecc... (rahymo te lo spiega meglio) che in python si scrive a+b=c.
Sfido chiunque a capire il codice di un programma se anche 2+2 è scritto in una facciata di codice!!!
Infatti esistono questi programmi come Python che permettono di non scrivere il linguaggio macchina ma una lora rappresentazione, quando vengono "compilati" o trasformati in "exe" il programma scrive il linguaggio macchina.
Il problema di fondo è che ad esempio i cicli o le funzioni tanto semplici da capire in python vengono trasformate in una serie di operazioni che deve fare la machina e la procedura inversa non darà mai lo stesso risultato.
Esempio solo per farti capire, se scrivi x= 2+2 o 3+1 o 5-1 e poi il compilatore lo trasforma in linguaggi macchina cioè x=4 come puoi risalire al codice che ha generato quella operazione.
Quindi il codice lo puoi scivere in mille modi diversi (comprensibili ad un essere umano che riesce a vederli nel comlplesso e capirne il funzionamento) ma una volta trsformato in instruzioni del computer perdi tutte quelle strategie, scorciatorie, modi di scriverlo che avevi adottato
OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
19/01/2010 21:32
 
Modifica
 
Quota

Ho capito, è un casino insomma
OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
19/01/2010 21:34
 
Modifica
 
Quota

una cosa che si riesce a risalire dall'assebler sono alcune operazioni logiche come ad esempio "se x=0 allora fai questo" (anche quà esiste in assembler solo se "x==0" e "se x!=0", solo due modi per controllare una variabile mentre in python si può scrivere anche > < >= <= e oltre allo zero si può mettere qualsiasi numero. Non mi ricordo bene ma erano jnot e j.. qualcosa cioè se uguale a zero e se diverso da zero...
Quindi vedi anche quà che effettivamente c'è la perdita totale del suo modo di essere costruito trasformado operazioni complesse tipo X<0 in una serie di Jump (salti a righe di codice diversi),controlli logici ecc... da cui ovviamente non si può dedurre come è stato fatto.

PS: jump era proprio uno dei comandi che cercano gli Hacker per "saltare" letteralmente quei passaggi dove esiste il controllo esempio del cd nel lettore ecc... per fare le crack

Noi modder infatti non modifichiamo il programma del gico ma "solo", si fa per dire, quei file utilizzati come deposito di informazioni. Pensa se tutto fosse inglobato nell'exe !!!
[Modificato da johnwhile 19/01/2010 21:39]
OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
19/01/2010 21:38
 
Modifica
 
Quota

Io non volevo fare crack, volevo semplicemente modificare il limite di regioni di medieval II, da 200 a 300
OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
19/01/2010 21:43
 
Modifica
 
Quota

Re:
boboav, 19/01/2010 21.38:

Io non volevo fare crack, volevo semplicemente modificare il limite di regioni di medieval II, da 200 a 300


eheheheh, può essere un semplice numero scritto all'interno (innutile che lo cerchi tanto non troverai mai il numero 300 o 200) ma come fai a trovarlo tra migliardi di numeri ???? Dovresti sapere dove si trova ma per fare ciò devi sapere quale è la funzione nel programma che utilizza questo numero, e risalire sempre di più... peccato che non troverai scritto: limiteregioni = 200 ma al massimo var=10101010101... (Ecco in assembler non ci sono le x y a b c f come variabili ma solo due o tre mi sembra.
OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
19/01/2010 21:47
 
Modifica
 
Quota

Infatti quel pallone gonfiato che faceva tanto il brillante dicendomi: si dammi i file che risalisco ben io al punto in cui viene disabilitata la formazione a testuggine...
non mi risponde più !!!
Da come ho capito quelli che si definiscono hacker sono solo capaci al massimo di fare crack, anche perchè su internet esiste una spiegazione molto dettagliata di come trovare quei jnt o jump (mi ricordo che uno voleva dire se =0 allora continua, l'altro che se è diverso da zero vai a chissa dove....)

Anchio ero tutto esaltato all'idea di quello che si poteva fare... poi sono tornato con i piedi per terra
[SM=g7333]
[Modificato da johnwhile 19/01/2010 21:49]
OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
20/01/2010 06:46
 
Modifica
 
Quota

Uffa:(, però ho trovato il numero che determina il limite di edifici(di 128 c'era solo uno)
OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 11:23
 
Modifica
 
Quota

potete allegarmi elephant_cannon_lod0.modelreferencepoints ?
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 11:46
 
Modifica
 
Quota

io posso stasera.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 13:07
 
Modifica
 
Quota

sono andato sul forum di Python per chiedere la correzione e mi hanno detto che avevo solo sbagliato la spaziatura in un ciclo... quindi quel debug non è che ti rivela proprio bene l'errore.
Adesso funziona, ho messo un bottone che mi carica il file !
[Modificato da johnwhile 20/01/2010 13:07]
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 13:16
 
Modifica
 
Quota

il debug non rivela gli errori.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 5.956
Post: 1.287
Registrato il: 28/07/2009
Città: NAPOLI
Età: 29
Sesso: Maschile
Civis
Team Modder
20/01/2010 14:19
 
Modifica
 
Quota

Vogliamo usare per "De Bello Mundi" un exe nuovo con il limite degli edifici aumentato?
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 14:20
 
Modifica
 
Quota

No

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 14:33
 
Modifica
 
Quota

Re:
boboav, 20/01/2010 14.19:

Vogliamo usare per "De Bello Mundi" un exe nuovo con il limite degli edifici aumentato?


L'ascia stare l'exe, neanche chi ci sà mettere le mani riesce a fare granche...

Rayhmo sai per caso di qualche estensione per Python che permetta di creare comodamente un'interfaccia grafica, cioè qualcosa che semplifichi di molto la creazione di menu, bottoni ecc... perchè c'è troppa roba da sapere per fare anche una semplice finestra
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 14:37
 
Modifica
 
Quota

python non lo conosco, ogni tanto guardo qualcosa in internet quando tu hai qualche problema.
o cerchi su google, oppure per creare le finestre ti copi il codice del goat, per esempio.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 21:08
 
Modifica
 
Quota

sapresti come fare a leggere dati dal file di testo ?
Il mio problema è che ad esempio devo leggere numeri interi, stringhe, numeri floating... l'ordine lo conosco ma non sò come si può fare perchè f.read() legge solo stringhe.
inoltre dovrei convertirli in esadecimale e scrivere il file binario...
Da gli script di KnightErrant non riesco a capirecasa fà anche perchè usa classi, e altre cose i cui non ho alba.
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 21:21
 
Modifica
 
Quota

per la lettura di un file di testo ti posso indicare i tutorial:

www.java2s.com/Code/Python/File/Text-File-Read.htm

docs.python.org/tutorial/inputoutput.html

leggi le stringhe normalmente e poi ad esempio le converti in float:
stackoverflow.com/questions/379906/python-parse-string-to-floa...


cosa devi convertire in esadecimale?

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 21:42
 
Modifica
 
Quota

Ah ecco il terzo link mi ha illuminato !
Ma quindi devo fare così:
dato che tutti i 3 tipi utilizzati sono separati da tab o da spazio cioè caratteri vuoti faccio un ciclo che mi legge 1 carattere alla volta, quando trova uno spazio o un tab finisce di concatenare la stringa principale (cioè ad ogni ciclo aumenta fino alll'ultimo carattere)
Poi semplicemente le converto con int() o float() per trovare il numero.
Dopodiche dovrei riuscire a fare da solo cioè la funzione che trasforma in esadecimale e la inserisce nel file binario è già fatta (se vedi all'interno).

Stamattina ho copiato anche alcune interfaccie tipo i bottoni proprio dal tuo primo link ( www.twcenter.net/forums/showthread.php?p=6605682#post6605682 )
[Modificato da johnwhile 20/01/2010 21:43]
OFFLINE
Post: 8.178
Post: 4.342
Registrato il: 30/06/2008
Città: NAPOLI
Età: 40
Sesso: Maschile
Pontifex maximus
Consul
Team Leader
Imperator
20/01/2010 21:55
 
Modifica
 
Quota

puoi anche leggere una riga intera (readline) e poi la splitti con split()

lineguides.netsons.org/wordpress/?p=338
docs.python.org/library/stdtypes.html#str.split

Se non gli passi nessun parametro, ti spezza una stringa in pezzi compresi tra gli spazi.

poi ti scorri il vettore e lo converti.

"Ci vuole la carne nelle salsicce, il fumo se ne esce!" (proverbio)
"Il potere é quando abbiamo ogni giustificazione per uccidere e non lo facciamo " (Schindler's list)



Peninsula Italica Fan



OFFLINE
Post: 3.393
Post: 2.643
Registrato il: 05/07/2008
Città: PORDENONE
Età: 38
Sesso: Maschile
Gubernator
Consul
Team Modder
20/01/2010 22:08
 
Modifica
 
Quota

Grande quello split mi ha semplificato la vita, anche perchè pensavo che se leggeva spazio o qualcosaltro di simile mi restituiva stringa vuota invece mi restituisce anche gli /t /n ecc...

Ecco, infatti adesso ho capito dove KnightErrant ha estratto i dati, infatti fà un readline() e poi la stringa viene splittata.
Successivamente ad ogni diverso caso vengono estratti i valori dell'arrey che si è formato, perchè non capivo proprio il nesso
[Modificato da johnwhile 20/01/2010 22:18]
Nuova Discussione
 | 
Rispondi
Cerca nel forum

Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Crea forum gratis, gestisci la tua comunità! Iscriviti a FreeForumZone
FreeForumZone [v.6.1] - Leggendo la pagina si accettano regolamento e privacy
Tutti gli orari sono GMT+01:00. Adesso sono le 08:10. Versione: Stampabile | Mobile
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com