Posts Tagged ‘ropc’

ROPC — Turing complete ROP compiler (part 3, implementation)

31/07/2014 2 comments


This is the third (and last) post in a series (first post here, second here) about ROPC, describing implementation of its features like tables, conditional jumps, recursive calls, etc. Please familiarize yourself with the two first posts, otherwise this one might be hard to follow.

Read more…

ROPC — Turing complete ROP compiler (part 2, language)

01/01/2014 2 comments

This is the second post in a series (first post here) describing ROPC. Programs accepted by the compiler are written in ROPL (Return Oriented Programming Language). ROP programs are usually used as stage 0 payloads. They compute addresses, change memory protections, call few OS APIs. For this reason, language expressing them doesn’t have to be complex.

Read more…

ROPC — Turing complete ROP compiler (part 1)

13/12/2013 12 comments


This is a long overdue post describing ROPC (Return Oriented Programming Compiler, available here: with its own “higher level” language and features like conditional jumps, loops, functions (even recursive ones), tables, etc.. ROPC was released in 2012. Since then, Christian Heitman made a fork [0] capable of compiling ROP programs expressed in C (!).

Read more…