Recovering a C++ Vtable From ARM64/x64 Disassembly

Two-class toy hierarchy, virtual dtor plus two methods. objdump/readelf of the compiler vtable, ctor writing the vptr, virtual call through [x0,#16], gdb print of the slot.

March 11, 2021 · 9 min · 1866 words · Jose Adalberto Gutierrez Ochoa

ROP vs ret2libc: Classifying `ret` Sites on a Toy Binary

Mental model plus objdump of a toy: ret2libc is whole-function reuse, ROP is fragment reuse. Classify epilogue rets vs pop;ret vs leave;ret. Overflow crash with RIP=0x4141… — no system("/bin/sh") chain.

February 9, 2021 · 8 min · 1695 words · Jose Adalberto Gutierrez Ochoa