Due domande sull'apprendimento di Linux sfruttano i fondamentali dello sviluppo

3

prepararsi ad approfondire il mondo tecnico della valutazione della vulnerabilità e ho due domande su dove trovare determinate informazioni.

In primo luogo, ho intenzione di leggere "Capire il kernel di Linux" di Bovet. Questo libro riguarda la gestione della memoria Linux, ma solo per essere sicuro: copre TUTTO ciò che avrò bisogno di sapere su come viene distribuita la memoria quando vengono eseguiti i programmi?

Riddle numero due: quale sarebbe la migliore fonte di informazioni per imparare le specifiche di come gcc traduce il codice C in ASM (oltre al manuale di gcc)?

Grazie!

    
posta zero cola 23.06.2011 - 17:26
fonte

1 risposta

2

First, I plan on reading "Understanding the Linux Kernel" by Bovet. This book covers Linux memory management, but just to be sure: does it cover EVERYTHING that I will need to know about how memory is laid out when programs are being run?

TUTTO? Improbabile .. tuttavia ho sentito parlare del libro, e sospetto che sia un buon punto e che abbiate sicuramente iniziato. Come sempre nel mondo informatico però ... la pratica rende perfetti e inevitabilmente ci sarà una situazione di cui non hai letto a cui solo la tua pratica / esperienza nel trattare scenari complessi può dare una mano.

Riddle number two: What would be the best source of information for learning the specifics of how gcc translates C code to ASM (besides the gcc manual)?

il manuale del GCC sarebbe la migliore fonte di informazioni. Tuttavia, devo chiedermi perché lo vuoi sapere comunque?

Suppongo che sia a causa dell'ubiquità di gcc in applicazioni / software che le persone implementano e il desiderio di migliorare le tue capacità di reverse engineering. Se questo è il caso, direi che spazzolare il linguaggio Assembly è una manna dal cielo quando viene il reverse engineering. Giocare con il programma STRINGS (e altri strumenti simili ... una ricerca su google produrrà molto) per capire come stanno le cose, e poi magari compilare il tuo (semplice) programma ... enumerare il suo assemblaggio e lavorare in quel modo. Facendolo, sai COSA fa il programma e puoi capire come lo sta facendo. (Il che è conoscenza che puoi applicare al contrario a situazioni "reali").

    
risposta data 23.06.2011 - 18:00
fonte

Leggi altre domande sui tag