我正在尝试自学一些 ROP 编程。我已经尝试从不同的站点进行一些训练利用。所以,现在,我有这个小应用程序,其中启用了 GS、safeSEH ALSR 和 DEP(在应用程序级别而不是在操作系统上)。因此,当我尝试利用此应用程序时,它运行良好(http://pastebin.com/TdDR3W0y)。它只是流行calc.exe。
但是,另一方面,当我启用操作系统级别的 DEP 时,我的漏洞利用会生成段错误并使应用程序崩溃。
所以,我的问题是应用程序级 DEP 和操作系统级 DEP 之间有什么区别?是否,当我尝试绕过 DEP 时,我必须进行其他/不同的函数调用(而不是 VirtualProc)?