1
.data
value: .long 0x69
.text
#...
2
.text
value: .long 0x69
#...
我是一名学习 x86 的学生,我注意到value
如果它在.text
. 我一直在尝试阅读原因,但找不到。有人可以带我到可以阅读或简要解释的地方吗?
1
.data
value: .long 0x69
.text
#...
2
.text
value: .long 0x69
#...
我是一名学习 x86 的学生,我注意到value
如果它在.text
. 我一直在尝试阅读原因,但找不到。有人可以带我到可以阅读或简要解释的地方吗?
.text
节是可执行文件的实际可执行指令所在.data
的区域,节是可执行文件的非基于堆栈的变量和常量所在的区域。您无法修改该.text
部分中的值的原因是因为称为W^X(又名 PaX、Exec Shield、DEP 等)的安全功能在大多数现代操作系统上启用,其中操作系统不允许区域内存在执行时不可写。它可以帮助缓解任意代码注入。