Decompilatori: approccio per principianti

Questo corso raccoglie una serie di appunti che ho collezionato durante lo studio dello sviluppo di decompilatori. Include alcuni appunti anche sul formato dei file binari come PE ed ELF.

Lo studio dello sviluppo dei decompilatori fa parte delle discipline informatiche che riguardano il linguaggio e la struttura di esso all’interno di un moderno calcolatore. Esistono diverse risorse, come il dragon book, per i compilatori: la letteratura è piena di libri, articoli e paper accademici, ma poco si sa in realtà dei decompilatori. Ci chiediamo: è possibile utilizzare le stesse tecniche viste per la compilazione ed invertirle per ottenere il codice sorgente? In questa serie di appunti che ho trascritto, scopriremo che sapremo qualche volta ottenere il codice sorgente, altre volte no.

Questi appunti sono stati ispirati dal corso princìpe in materia di progettazione del decompiler (Decompiler Design) di Giampiero Caprino. Voglio personalmente ringraziarlo per aver scritto e creato quelle pagine. Parte del corso segue la stessa struttura utilizzata dall’autore del corso originale, ma è più aggiornata e affronta alcune tematiche più elementari per rendere la lettura piacevole. Il contenuto è anche preso da una serie di paper citati all’interno della sezione Letteratura che vi invito a leggere.

Sono richieste da parte del lettore conoscenze in ambito low-level, come la scrittura di codice assembly e la relativa comprensione, insieme ad alcune conoscenze di teoria dei Linguaggi (come il concetto di compilazione, interprete, esecuzione di un programma). Re-introdurremo alcuni concetti di programmazione dove necessario.

Indice

Extra

Attualmente il corso presenta più di 15.000 parole. Vuoi saperne di più su quello che faccio? Hai trovato un errore sul testo? Contattami via e-mail.

Biografia

Sono uno specialista in materia di sicurezza informatica, scrittore, contributore per il progetto Monero, una criptovaluta che è focalizzata nel proteggere le informazioni sulle transazioni. Il libro che ho pubblicato Mastering Monero è diventato una delle migliori risorse per padroneggiare Monero. Più informazioni su di me

Seguimi su Twitter o scrivimi una e-mail. Le donazioni sono molto apprezzate, mi permettono di continuare a lavorare e a scrivere.

Mastering Monero Book