Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
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?
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
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.
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...