ASM Disassemblare un gioco

Stato
Discussione chiusa ad ulteriori risposte.

r4z0

Utente Electrum
14 Febbraio 2010
122
31
3
109
Salve ragazzi un mio amico ha creato un gioco e mi ha passato l'exe però vorrei disassemblarlo per vedere con cosa è stato creato e programmato.
Potete dirmi che cosa dovrei fare se avete una guida è anche meglio!
 
Per sapere con cosa è stato compilato un exe non c'è bisogno di disassemblare, è tutto negli header del pe o nella signature. Usa rdg paker detector, oppure peid, questi programmi ti diranno molto sulla sua natura. In alcuni casi se il programma è protetto potrebbe servire anche un po' di esperienza.
Non potevi semplicemente chiedere con cosa ha programmato?
 
Se è un tuo amico, dovresti poterglielo chiedere..Comunque, come ha detto Predator, RDG packer detector ti da le informazioni che cerchi...
 
Per sapere con cosa è stato compilato un exe non c'è bisogno di disassemblare, è tutto negli header del pe o nella signature. Usa rdg paker detector, oppure peid, questi programmi ti diranno molto sulla sua natura. In alcuni casi se il programma è protetto potrebbe servire anche un po' di esperienza.
Non potevi semplicemente chiedere con cosa ha programmato?
Grazie per la risposta glielo avrei chiesto comunque ma volevo sapere se vi era un altro modo per sapere con cosa era stato compilato.
Sai come è a me piace imparare e vorrei chiederti un altra cosa se io avessi voglia di modificare l'exe dovrei disassemblarlo giusto?(Modificarlo nel senso di modificare i suoi source)
 
Modificarlo nel senso modificare i suoi source, significherebbe che tu hai il sorgente, che lo modifichi e poi lo ricompili. Ma non mi pare sia il tuo caso, perciò parlare di "modifica al sorgente" è sbagliato.

Gli eseguibili in Windows si possono distinguere in 2 macro categorie (anche se non è cosi', la sto facendo breve):
-codice nativo, cioè codice non gestito. I classici eseguibili fatti in c/c++, delphi, vb6 ecc... Il sorgente viene compilato in un eseguibile nativo e lanciato dal PE loader di windows
-codice gestito (eseguibili .Net). Il sorgente viene trasformato in codice IL (intermediate language) il quale verrà compilato dal JIT (just in time) del CLR del DotNet.

la differenza di risultato tra questi due tipi di eseguibili è sostanziale.

Nel primo caso reversando (disassemblando) l'eseguibile in codice nativo otterrai l'interpretazione in ASM di esso. Lo dice la parola stessa, si disassembla. In questo caso le protezioni possono essere seriamente potenti, virutalizzando, monitorando, e proteggendo il codice in mille modi.
Nel secondo caso non c'è codice da disassemblare, pertanto l'eseguibile va reflectato, ottenendo codice IL, che puo' a sua volta essere letto direttamente come codice C# o VbNet. La difficoltà maggiore solitamente è rappresentata dalla confusione provocata dagli offuscatori.
 
Modificarlo nel senso modificare i suoi source, significherebbe che tu hai il sorgente, che lo modifichi e poi lo ricompili. Ma non mi pare sia il tuo caso, perciò parlare di "modifica al sorgente" è sbagliato.

Gli eseguibili in Windows si possono distinguere in 2 macro categorie (anche se non è cosi', la sto facendo breve):
-codice nativo, cioè codice non gestito. I classici eseguibili fatti in c/c++, delphi, vb6 ecc... Il sorgente viene compilato in un eseguibile nativo e lanciato dal PE loader di windows
-codice gestito (eseguibili .Net). Il sorgente viene trasformato in codice IL (intermediate language) il quale verrà compilato dal JIT (just in time) del CLR del DotNet.

la differenza di risultato tra questi due tipi di eseguibili è sostanziale.

Nel primo caso reversando (disassemblando) l'eseguibile in codice nativo otterrai l'interpretazione in ASM di esso. Lo dice la parola stessa, si disassembla. In questo caso le protezioni possono essere seriamente potenti, virutalizzando, monitorando, e proteggendo il codice in mille modi.
Nel secondo caso non c'è codice da disassemblare, pertanto l'eseguibile va reflectato, ottenendo codice IL, che puo' a sua volta essere letto direttamente come codice C# o VbNet. La difficoltà maggiore solitamente è rappresentata dalla confusione provocata dagli offuscatori.

Chiaro e coinciso grazie mi sei stato di aiuto ;)
 
Stato
Discussione chiusa ad ulteriori risposte.