Search code examples
assemblyreverse-engineeringida

IDA Pro variable declaration


I'm quite new to x86 assembly and reverse engineering and have a question about this piece of code I obtained through IDA:

; LRESULT __stdcall WndProc(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR)
WndProc proc near

Rect= tagRECT ptr -34h
var_24= dword ptr -24h
var_20= dword ptr -20h
var_1C= dword ptr -1Ch
var_18= dword ptr -18h
prc= RECT ptr -14h
var_4= dword ptr -4
hWnd= dword ptr  8
uMsg= dword ptr  0Ch
wParam= dword ptr  10h
lParam= dword ptr  14h

Am I correct that var_18, var_1C and var_20 are actually pointing to prc.top, prc.right and prc.bottom?


Solution

  • No; if prc is a RECT instance then it occupies the following 16 bytes of memory (so offset -14 through -5 inclusive, four 32-bit words).