This document provides an introduction to Return Oriented Programming (ROP), explaining its mechanisms and concepts, such as stack overflow, control of the stack and return addresses, and chaining function calls. It covers techniques for manipulating control flow using ROP by creating fake stack frames, as well as the differences between traditional programming approaches and ROP. The document also includes examples, scripts for crafting payloads, and methods for finding gadgets to facilitate ROP exploits.