PDA

Visualizza la versione completa : [OT] Come analizzare la struttura di un file binario?


Lanus
23-01-2008, 17:00
Ciao,
Vorrei sapere se in generale esiste una tecnica per analizzare la struttura di un file binario.
So che per molti giochi sono state scoperte le strutture dei file per poi modificarli. Come è successo per i file .mul di Ultima Online. Ecco vorrei sapere se coloro che hanno analizzato la struttura hanno usato qualche tecnica, oppure hanno provato e riprovato a cambiare quei valori finchè non hanno infine capito a cosa servissero.
O comunque se esistono programmi che mi semplifichino l'impresa.
Grazie :)

oregon
23-01-2008, 17:10
Non esiste nulla di automatico.

Si usano tecniche di reverse engineering, argomento che non e' visto di buon occhio in questo forum per le eventuali implicazioni legali.

Parlando in generale, si opera come hai indicato ...

Lanus
23-01-2008, 17:27
Ah capito grazie :)
Comunque non mi riferisco agli eseguibili, ma solo ai file dati. Anche la modifica di questi comporta problemi legali?

MItaly
23-01-2008, 19:11
In alcuni casi sì (in alcune delle licenze di programmi che ho letto c'era una menzione al copyright sulla struttura dei file generati dal programma); comunque se vuoi avventurarti in questo genere di imprese la prima cosa che ti serve è un buon editor esadecimale; personalmente ti consiglio questo (http://www.mirkes.de/blog/index.php?archives/2-English.html&serendipity%5Blang_selected%5D=en) o questo (http://mh-nexus.de/hxd/).

oregon
23-01-2008, 20:16
Originariamente inviato da Lanus
Comunque non mi riferisco agli eseguibili, ma solo ai file dati. Anche la modifica di questi comporta problemi legali?

Sì ... l'avevo capito ... ma anche per il formato dei file dati ci possono essere implicazioni legali relativi a formati più o meno "proprietari" (vedi il PDF o il DOC) ...

Lanus
24-01-2008, 01:20
Ok grazie a tutti per l'aiuto :)

P.S.: Un editor esadecimale era proprio ciò mi serviva :D
P.P.S.: E' normale che numeri composti da più di un byte si presentino con i byte invertiti? Esempio io ho 0xD503 e mi si presenta come 0x03D5. Normale?

oregon
24-01-2008, 02:03
Originariamente inviato da Lanus
P.S.: Un editor esadecimale era proprio ciò mi serviva

L'editor esadecimale non e' uno "strumento automatico" di analisi della struttura di un file binario.

E' un semplice strumento (tra i tanti che esistono) che ti permette di "leggere" byte per byte il contenuto di un file di questo tipo.

La "struttura" di tale file (il "significato" di ogni byte o combinazione di byte) la devi "dedurre" con l'esperienza e la pratica ...


Originariamente inviato da Lanus
P.P.S.: E' normale che numeri composti da più di un byte si presentino con i byte invertiti? Esempio io ho 0xD503 e mi si presenta come 0x03D5. Normale?

Normalissimo ...

La Intel (ma anche la Digital, a differenza di IBM, Motorola e altri produttori) usano il formato little endian per l'ordine di memorizzazione dei byte di parole composte da piu' byte.

Leggi

http://it.wikipedia.org/wiki/Ordine_dei_byte

Lanus
24-01-2008, 03:00
Ah capito. Che sistema strano però, io li avrei scritti in modo più umano :D . Però se è per questioni di prestazioni ci sta tutto.

Grazie di tutto. Siete stati molto gentili :)

Loading