ropc
ropc is a compiler from Turing-complete ROPC-IR to x86-64 shellcode. ROPC-IR is an assembly-like source language of my own invention. The most distinguishing feature of my compiler is that the shellcode program has access to a 2nd stack, called the shellcode stack. Once you have a shellcode stack, much becomes possible, such as subroutine calls within shellcode as well as library calls that don’t mangle the shellcode on the target stack.
Conference Talk
I presented my talk at the BSides Las Vegas 2019 security conference:
ROP With a 2nd Stack
- or -
This Exploit is a Recursive Fibonacci Sequence Generator
Slides • Video