Dos preguntas sobre el aprendizaje de Linux explotan los fundamentos del desarrollo

3

preparándome para profundizar en el mundo técnico de la evaluación de vulnerabilidades, y tengo dos preguntas sobre dónde encontrar cierta información.

Primero, planeo leer "Entendiendo el Kernel de Linux" por Bovet. Este libro cubre la administración de memoria de Linux, pero solo para estar seguro: ¿cubre TODO lo que necesito saber sobre cómo se distribuye la memoria cuando se ejecutan los programas?

Adivinanza número dos: ¿Cuál sería la mejor fuente de información para conocer los detalles de cómo gcc traduce el código C a ASM (además del manual de gcc)?

¡Gracias!

    
pregunta zero cola 23.06.2011 - 17:26
fuente

1 respuesta

2
  

Primero, planeo leer "Entendiendo el Kernel de Linux" por Bovet. Este libro cubre la administración de memoria de Linux, pero solo para estar seguro: ¿cubre TODO lo que necesito saber sobre cómo se distribuye la memoria cuando se ejecutan los programas?

TODO? Es poco probable ... sin embargo, he oído hablar del libro y sospecho que es bueno y definitivamente te ayudará a comenzar. Sin embargo, como siempre en el mundo de la computación, la práctica es perfecta e inevitablemente habrá una situación sobre la que no haya leído que solo su práctica / experiencia en el manejo de escenarios complejos puede ayudar.

  

Adivinanza número dos: ¿Cuál sería la mejor fuente de información para conocer los detalles de cómo gcc traduce el código C a ASM (además del manual de gcc)?

el manual de GCC sería la mejor fuente para esa información ... sin embargo, debo preguntarme por qué quiere saber esto de todos modos.

Supongo que se debe a la ubicuidad de gcc en las aplicaciones / software que implementa la gente y al deseo de mejorar sus habilidades de ingeniería inversa ... si este es el caso, solo diría que refrenar el lenguaje ensamblador es una bendición. Cuando se trata de ingeniería inversa. Juega un poco con el programa STRINGS (y otras herramientas similares ... una búsqueda en Google te dará mucho) para entender cómo se ven las cosas, y luego compilar tu propio programa (simple) ... enumerar su ensamblaje y trabajar de esa manera. Al hacer eso, usted sabe QUÉ hace el programa y puede averiguar cómo lo está haciendo. (Que es el conocimiento que puede aplicar a la inversa a situaciones "reales").

    
respondido por el DKGasser 23.06.2011 - 18:00
fuente

Lea otras preguntas en las etiquetas