Difference between revisions of "LU-LSP-b11:L08"

From DiLab
Jump to: navigation, search
Line 1: Line 1:
=== Praktiskais darbs #8 - steka satura analīze un piekļuve stekam. ===
=== Praktiskais darbs #8 - steka satura analīze un piekļuve stekam. ===


* [http://www.codeproject.com/KB/windows/CallStackTest/StackLayout1.jpg Steka kadra uzbūve x86 arhitektūrā].
* [http://www.codeproject.com/KB/windows/CallStackTest/StackLayout2.jpg Steka kadra uzbūve x86 arhitektūrā].


* Funkciju izsaukumu analīze. printf() lietošana steka satura izdrukai.
* Funkciju izsaukumu analīze. printf() lietošana steka satura izdrukai.

Revision as of 13:14, 1 November 2011

Praktiskais darbs #8 - steka satura analīze un piekļuve stekam.

  • Funkciju izsaukumu analīze. printf() lietošana steka satura izdrukai.
  • objdump programma un tās lietošana koda analīzei.
  • Funkciju "calling conventions". Atšķirības starp cdecl, stdcall, un citām.
  • Piekļuve steka saturam caur inline asamblera kodu.
#define GET_EBP_VALUE(result) \
    asm volatile("movl %%ebp, %0\n" : "=m" (result))
  • Optimizācija un tās ietekme uz steka izskatu.

Iesūtīšana

Šoreiz nekas nav jānodod. PD notiek interaktīvi. Drīkst arī strādāt pie MD4.

Atceries, ka mājasdarbos asamblera kodu lietot nav paredzēts!