
GIAC Reverse Engineering Malware
Domain 2Objective 2
Reversing Functions in Assembly GREM Practice Questions (Page 2)
Part of the Core Reverse Engineering Concepts domain, which makes up ~15% of our current practice bank. GIAC (SANS) does not publish an official question count, but from its 180-minute exam (~70–120 total, ~11–18 in this domain), expect 4–6 from this objective — we provide 32 practice questions to prepare you well beyond it. (estimate)
32questions here
7free pages
8concepts
Questions 6–10
- 6
You are analyzing a function that allocates a local array of 10 integers (40 bytes). The prologue is `sub esp, 28h` (40 bytes). The function accesses the array elements using `[esp+4]` and `[esp+8]` etc., but also uses `[ebp-4]` for a separate local variable. Which of the following is the most likely explanation for the mixed ESP and EBP addressing?
Select an answer first - 7
You are analyzing a function that has been optimized by the compiler. The prologue is `push ebp; mov ebp, esp; sub esp, 10h`. However, you notice that the function does not use EBP for any memory accesses; instead, it uses ESP-relative addressing for locals. Which of the following is the most likely reason for this mixed usage?
Select an answer first - 8
In the cdecl calling convention on x86, who is responsible for cleaning up the stack after a function call?
Select an answer first - 9
In x86 assembly, which instruction sequence is the standard function prologue that sets up a new stack frame?
Select an answer first - 10
How are local variables typically allocated on the stack in an x86 function?
Select an answer first
Finished these 5 questions?
Review the revealed explanations, or continue through the curriculum.
Free Basic Practice is a study aid with revealable answers — not a scored exam. Examers.io is independent and not affiliated with or endorsed by GIAC (SANS). “GREM” is a trademark of its owner, used for identification only.