不知道为什么, 链接器默认会把代码段和只读数据段放在一个Program Header中, 并且权限为可读且可执行, 感觉十分危险。
经研究, 在编译链接时加入-z separate-code参数即可让上述两种段在不同的Program Header中, 权限分别为可读且可执行(其实, 根据一些研究成果, 可以设为只可执行, 但可能有兼容性问题), 以及只读。
参考资料:
不知道为什么, 链接器默认会把代码段和只读数据段放在一个Program Header中, 并且权限为可读且可执行, 感觉十分危险。
经研究, 在编译链接时加入-z separate-code参数即可让上述两种段在不同的Program Header中, 权限分别为可读且可执行(其实, 根据一些研究成果, 可以设为只可执行, 但可能有兼容性问题), 以及只读。
参考资料:
本文链接:https://twd2.me/archives/14035
发表评论