c – 如何使用mingw在代码块中的exe上启用ASLR,DEP和SafeSEH?

我尝试在ASLR的链接器选项中使用-dynamicbase -pie和-e_mainCRTStartup但是当我在ollydbg中加载它时总是加载400000 最佳答案 您可以使用-Wl, – nxcompat启用DEP.您也可以以相同的方式将–dynamicbase传递给链接器,但遗憾的是它不会发出必要的重定位表.作为一种解决方法,您可以传递-Wl, – dynamicbase, – export-all-symbols.像main这样的单个符号的显式__declspec(dllexport)也可以工作,这是当前Rust编译器中使用的解决方法. AFAIK,GCC没有实现SEH,所以你不会错过任何错过编译时的健全性检查(SafeSEH).

点赞