我有一个名为 orw
的 ELF 32 位可执行文件来自 pwnable.tw:https://pwnable.tw/challenge/ .在我的 Ubuntu18.04 中,可以执行 .bss 段:
但是在我的 Ubuntu20 和 IDA Pro 中,.bss 段没有可执行属性,为什么?
最佳答案
Why does the .bss segment have no executable attribute?
在正常的可执行文件中
.bss
不应该有执行权限,所以奇怪的是 Ubuntu 18.04 结果,而不是相反。以下都是相关的:
readelf -Wl orw
的输出cat /proc/cpuinfo
的输出我怀疑您使用的是模拟器,它设置为模拟 pre- NX-bit处理器(其中
W
位也暗示了 X
位)。或者,可执行文件缺少
PT_GNU_STACK
段,在这种情况下 this answer可能是正确的 - 此类二进制文件的内核默认值已更改。
关于linux - 为什么.bss段没有可执行属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70401842/