我是 Linux PaX用户,因此要调试任何二进制文件,我需要使用 paxctl 命令禁用保护标志(每个二进制文件)。PaX 通过随机化为用户提供针对缓冲区溢出攻击等的保护,但它也禁止有意义的调试。我可以手动执行此操作,但是每次重建后我都必须重复它。我在考虑这4个选项:
- 使用 /proc/sys/kernel/pax/softmode 临时禁用 PaX
- 让 Eclipse 在构建后运行某种批处理文件(或修改默认生成文件)
- 从内核中删除一些 PaX 以保留地址空间(正如Gentoo 文档所建议的那样)
- 使 Eclipse CDT 调试器 (gdb) 使用硬件断点 (hbreak) 而不是普通断点 (break)
2)似乎是一种方法(不牺牲安全性或性能)。
有没有办法在(重新)构建后执行脚本/批处理文件?
还有另一个问题,即使我以某种方式设法运行禁用保护的脚本,我如何使其安全,使其不能被其他人使用?我正在考虑让 ide 在“eclipse”用户下运行,该用户将在适当的组中执行 paxctl 或类似的东西。
提前感谢您的任何提示。