Domanda Reversing Quale assembly serve per reverse engineering

  • Autore discussione Utente cancellato 275412
  • Data d'inizio
ok, c'è qualche risorsa in italiano per assembly?
Ho un PDF, la copia di un libro per un corso universitario, che affronta la programmazione in Assembly con Assemblatore MASM su sistema operativi MS-DOS.
Il libro tratta la programmazione del microprocessore Intel8086(se non lo conosci ecco un link: https://it.wikipedia.org/wiki/Intel_8086).
Il testo si può suddividere in tre parti di uguale importanza:
  • Studio dell'architettura del microprocessore Intel8086.
  • Studio dell'Assemblatore MASM direttive e sintassi.
  • Studio approfondito del linguaggio.
Ti allego il PDF più qualche approfondimento.
(ho dovuto dividere il pdf in tre parti per allegarlo).
 

Allegati

  • La_programmazione_in_Assembler_x86_by_Michelangelo_GROSSO_Paolo-1-27(parte1).pdf
    725.7 KB · Visualizzazioni: 32
  • La_programmazione_in_Assembler_x86_by_Michelangelo_GROSSO_Paolo-28-91(parte2).pdf
    795.9 KB · Visualizzazioni: 18
  • La_programmazione_in_Assembler_x86_by_Michelangelo_GROSSO_Paolo-92-208.pdf
    1.1 MB · Visualizzazioni: 19
  • Segmentazione.pdf
    254.6 KB · Visualizzazioni: 20
Quale assembly serve per reverse engineering?
l'assembly x86_64 o assembly x86?
dipende dal prodotto che devi reversare, dall'architettura su cui gira e da come è stato compilato. Se non hai mai masticato reversing ti consiglio di cominciare da x86 e imparare a leggere in formato Intel (esiste anche T&T)
 
Ultima modifica da un moderatore:
ok, c'è qualche risorsa in italiano per assembly?
 
Raga non so nulla di reverse engineering. Potete consigliarmi libri anche in inglese che aiutano nello sviluppano questa skill o che comunque trattano il tema Grazie
 
Ultima modifica da un moderatore:
Visto che sei su x86. una breve intro puo tornarti utile.

L'assembly e' legato all'architettura. Che dai tempi x86 non e' cambiata, ma migliorata.

Inizialmente esisteva 8086 (spesso chiamato x86)
16 registri 16 bit (ax,bx,cx,dx,es, si, di .. etc), inidirizzamento di memoria real-mode, base:offset , in cui i 12 bit centrali si sovrappongono a formare 20 bit, che era limite memoria alta, 1MB (ricordare vecchi giochi e mondo DOS).

Poi arrivata la modalita' protetta, dal 386, cose cambiano a livello di indirizzamento di memoria, si inizia usare modello "flat" inidirizzemento a 32bit
Registri cambiano in registri 32 bit (eax ebx ecx etc)

Poi arriva x86_64, registri 64bit (rax rbx etc) e indirizzamento "long" mode a 64bit

Nota, il set di istruzioni principale e il nome/significato di base dei registri non cambia, e' sempre quello di x86, cambiano dimensioni registri, indirizzamento, e estensioni, cioe' alcuni set di istruzioni specifici aggiunti in seguito.
Messaggio unito automaticamente:

Nota, reverse engineering non e' solo sw, ma anche hardware, spesso di devono decodificare treni di dati cifrati, o protocolli cliente. Per imaprare meglio individuare una cosa su cui ti serve RE, e da li capire cosa fare, chiedendo.