qq实则是我们需要对抗的东西?

NX

NX(Non-Executive)保护是一种极其常见的保护,就算是保护全关的初级pwn题目中也经常能够见到其处于开启状态。其作用为限制特定段的可执行权限,使ShellCode不至于以一种过于弱智的方式实现。


PIE

现代二进制保护至关重要的一部分。将程序基址进行随机偏移,以使rop链无法轻易地指向任意程序段

解决

泄露程序基址即可。


Canary

一只可爱的小鸟。这种保护方式能够使程序不那么容易直接被溢出,然后被利用。