Возвратно-ориентированное программирование (Return-Oriented Programming, ROP) — это техника эксплуатации уязвимостей в компьютерной безопасности, которая позволяет атакующему выполнить произвольный код на целевой машине, используя существующие кусочки исполняемого кода — так называемые "гаджеты".
Эти гаджеты, заканчивающиеся инструкцией возврата (ret), находятся в уже загруженных библиотеках или исполняемых файлах и могут быть упорядочены таким образом, чтобы образовать вредоносную программную логику без необходимости вставки нового кода, что позволяет обходить защиту, предотвращающую выполнение кода.