From 8cbfa43a901608b34d9a2a2a9477d1bb5bc2de5e Mon Sep 17 00:00:00 2001 From: Stefan Date: Sun, 10 May 2026 14:57:09 +0200 Subject: [PATCH] Fixed frame again Correct vtable layout differences between GCC and StormC++. --- 05_reversing/static/compilers/stormc.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/05_reversing/static/compilers/stormc.md b/05_reversing/static/compilers/stormc.md index 8d01da2..541d828 100644 --- a/05_reversing/static/compilers/stormc.md +++ b/05_reversing/static/compilers/stormc.md @@ -92,17 +92,17 @@ StormC++ uses its own ABI: ``` GCC 2.95.x vtable layout: StormC++ vtable layout: -┌──────────────────────┐ ┌──────────────────────┐ +┌──────────────────────┐ ┌──────────────────────┐ │ offset_to_top = 0 │ vtable[-2] │ (no offset_to_top) │ -├──────────────────────┤ ├──────────────────────┤ +├──────────────────────┤ ├──────────────────────┤ │ RTTI pointer │ vtable[-1] │ (RTTI pointer or 0) │ ├──────────────────────┤ ← vptr ├──────────────────────┤ ← vptr │ virtual destructor │ vtable[0] │ first virtual method │ vtable[0] -├──────────────────────┤ ├──────────────────────┤ +├──────────────────────┤ ├──────────────────────┤ │ virtual method 1 │ vtable[1] │ second virtual meth │ vtable[1] -├──────────────────────┤ ├──────────────────────┤ -│ ... │ │ ... │ -└──────────────────────┘ └──────────────────────┘ +├──────────────────────┤ ├──────────────────────┤ +│ ... │ │ ... │ +└──────────────────────┘ └──────────────────────┘ ``` > [!WARNING]