什么是x86中的.data和.text?
发布时间:2020-12-14 23:21:42 所属栏目:资源 来源:网络整理
导读:1 .datavalue: .long 0x69.text#... 2 .textvalue: .long 0x69#... 我是一名学习x86的学生,我注意到如果它在.text下,则无法修改该值.我一直试图解读原因,但我找不到它.有人可以带我到我能读到的地方或简要解释一下吗? 解决方法 .text部分是实际可执行指令所
1
.data value: .long 0x69 .text #... 2 .text value: .long 0x69 #... 我是一名学习x86的学生,我注意到如果它在.text下,则无法修改该值.我一直试图解读原因,但我找不到它.有人可以带我到我能读到的地方或简要解释一下吗? 解决方法
.text部分是实际可执行指令所在的可执行文件的区域,.data部分是基于非堆栈的变量和常量所在的可执行文件的区域.为什么你不能在.text段修改值的原因是因为所谓的安全功能的
W^X(又名帕克斯Exec的盾,DEP等),这是在最现代的操作系统,其中OS不允许区域的启用在执行时内存不可写.它可以帮助缓解任意代码注入.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |