Return-Oriented Programming

In a previous post, I described how to inject code to execute syscall by overwriting the stack. To summarize the previous post ROP (Return Oriented Programming) is a technique which can bypass the Non-Executable Stack to execute arbitrary code. We still need the ability to overwrite the stack (it can not bypass Stack Smashing [ ]