None of the counter-exploitation techniques mentioned above, including removing potentially dangerous functions from shared libraries altogether, are effective against a return-oriented programming attack.
Ни один из вышеописанных методов противодействия атакам, включая удаление опасных функций из разделяемых библиотек, не является эффективным против возвратно-ориентированного программирования.