在NX支持之前(也在32位模式下运行,Linux使用它),[使用x86段限制可以完成no-exec保护](https://www.redhat.com/magazine/009jul05/features/execshield /)。 根据那篇文章,Solar Designer的OpenWall发行版使用了它。 更重要的是,Solar Designer实际上发明了用于非可执行堆栈的技术。 显然[它并不完美](http://insecure.org/sploits/non-executable.stack.problems.html)。 我没有读过这个漏洞利用来弄清楚这是否是实施中的可修复问题,或没有适当的NX的基本限制
Before NX support (which works in 32bit mode as well, and Linux uses it), [no-exec protection could be done using x86 segment limits](https://www.redhat.com/magazine/009jul05/features/execshield/). According to that article, Solar Designer's OpenWall distro used it. More importantly, Solar Designer actually invented the technique for non-executable stacks. Apparently [it wasn't perfect](http://insecure.org/sploits/non-executable.stack.problems.html). I haven't read that exploit to figure out whether that was a fixable problem in implementation, or a fundamental limitation without proper NX