Pagina 1 di 1

Quale disassembler che traduca in c oltre che in asm?

Inviato: mer 11 lug 2007, 18:15
da Karma
Buongiorno a tutti!
Come da titolo, sto cercando un disassembler che oltre a tradurre in asm (che per me è pressochè incomprensibile) traduca anche in c/c++ con tutte le funzioni visualizzabili in classico stile "programmazione ad alto livello". In particolare volevo disassemblare un modulo (quindi un ".o") del mio palmare per fare reverse enginering.
So per certo che dovrebbe esistere ma non sono riuscito a trovarne uno soddisfacente...
Voi ne conoscete qualcuno da consigliarmi?

Grazie mille!

Karma

P.S.: Naturalmente deve essere per linux! ;)

Inviato: mer 11 lug 2007, 20:14
da alessiodf
non esistono deassemblatori binary TO c... :cry:

Inviato: mer 11 lug 2007, 20:35
da Toni
se vuoi fare reverse e non conosci l assembler caschi male . non esiste un disassemblatore che produca codice c/c++ che a sua volta ricompilato funzioni come l originale . studia l assembler e buona fortuna

Re: Quale disassembler che traduca in c oltre che in asm?

Inviato: gio 12 lug 2007, 0:45
da phobos3576
Karma ha scritto:Buongiorno a tutti!
Come da titolo, sto cercando un disassembler che oltre a tradurre in asm (che per me è pressochè incomprensibile) traduca anche in c/c++ con tutte le funzioni visualizzabili in classico stile "programmazione ad alto livello". In particolare volevo disassemblare un modulo (quindi un ".o") del mio palmare per fare reverse enginering.
So per certo che dovrebbe esistere ma non sono riuscito a trovarne uno soddisfacente...
Voi ne conoscete qualcuno da consigliarmi?

Grazie mille!

Karma

P.S.: Naturalmente deve essere per linux! ;)
Karma, un disassembler capace di convertire il codice macchina nel codice sorgente originario (C, Pascal, etc) è il sogno di tutti gli informatici che si occupano di reverse engineering; se qualcuno fosse riuscito a fare una cosa del genere, si ritroverebbe tra le mani un'arma di potenza immensa e non lo verrebbe certo a raccontare pubblicamente.

Tra il codice Assembly e il codice macchina esiste una corrispondenza (praticamente) biunivoca; ciò significa che l'assembler traduce in uno e un solo modo il codice Assembly in codice macchina e, analogamente, il disassembler traduce in uno e un solo modo il codice macchina in codice Assembly.
Nel caso dei linguaggi di alto livello questa corrispondenza biunivoca non esiste; è (forse) impossibile quindi realizzare un disassembler capace di risalire al codice sorgente (C, Pascal, FORTRAN, etc) a partire dal codice macchina.

Inviato: gio 12 lug 2007, 9:01
da alessiodf
quoto phobos!

comunque, se hai la possibilità di emulare e debuggare il SO del palmare, non è difficile andare "passo passo" e seguire il codice ASM!

io lo farevo anni fa per craccare le applicazioncine Windows style :oops:

Inviato: gio 12 lug 2007, 16:18
da Karma
Scusate il ritardo!
Grazie a tutti per le risposte!
non esiste un disassemblatore che produca codice c/c++ che a sua volta ricompilato funzioni come l originale
Ecco cosa mi sfuggiva! Avevo visto che esistevano quelli che producevano codice c-like, ma non immaginavo che dopo il codice non potesse essere ricompilato... ecco la fregatura! :(
comunque, se hai la possibilità di emulare e debuggare il SO del palmare, non è difficile andare "passo passo" e seguire il codice ASM!
In teoria dovrei averla, ma mi sa che mi ci vorrà parecchio per imparare ad usarli! Meglio iniziare subito...

Grazie a tutti!
Karma, un disassembler capace di convertire il codice macchina nel codice sorgente originario (C, Pascal, etc) è il sogno di tutti gli informatici che si occupano di reverse engineering;
Ammetto che sarebbe anche il mio, anche se non mi occupo principalmente di questo... :cry:

Grazie davvero a tutti! Adesso tutto mi è chiaro!

Buona giornata e buon lavoro a tutti!

Karma