Karten 9 Karten
Lernende 0 Lernende
Sprache English
Stufe Universität
Erstellt / Aktualisiert 21.06.2019 / 21.06.2019
Lizenzierung Keine Angabe
0 Exakte Antworten 9 Text Antworten 0 Multiple Choice Antworten
Fenster schliessen

Describe the memory layout of a 32 bit system inluding the EIP and ESP pointer.

Lizenzierung: Keine Angabe
Fenster schliessen

What are the charecteristics of the stack?


  • There is one contiguous memory region containing the stack for the process
  • LIFO - Last in, First Out
  • Contains funtion local variables
  • Also contains: Saved Instruction Pointer (SIP)
  • Current function adds data to the top (bottom) of the stack
Fenster schliessen

What are the charecteristics of the heap?


  • There is on contiguous memory region containing the heap
  • Memory allocator returns specific pieces of the memory region
  • For malloc()
  • Alos contains: heap management data
Fenster schliessen

What is stored in the code region in memory?

Code region contains:

  • Compiled program code
Fenster schliessen

What is the ELF format, and name 3 types.

Programs are stored in ELF files

ELF: Executable and Linkable Format

  • Like COFF, PE (EXE), ....

ELF types:

  • ET_EXEC: Executable File
  • ET_REL: Relocatable File
  • ET_DYN: Shared Object File

ELF "views"

  • Sections
  • Segments
Fenster schliessen

Describe the ELF Format how is it structured?

Lizenzierung: Keine Angabe

Sturcture of ELF file from top to bottom:

  1. ELF Header
  2. Program Header Table (contains the location of sections)
  3. Sections (are contained in segments)
  4. Section Header Table (contains locationn of sections
Fenster schliessen

In the ELF format what can be contained in the sections?


  • .text: Executable instructions
  • .bss: Unitialized data (usualy the heap)
  • .data: initialized data
  • .rodata: Read-Only data
  • .got: Global Offset Table
  • .plt: Prcedure Linkage Table
  • .init / .fini: initialiyation instructions ("glibc")
Fenster schliessen

How is an ELF file loaded what is loaded into the stack, heap and code block?

Lizenzierung: Keine Angabe

.plt, .text, .init get written into code block

.got, .data, .bss is written into the heap

unalocated space is the stack.