You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下修改PE节区特性的异常:移除可读权限仍可执行

Windows 11中PE文件.text节区移除可读权限后仍可执行的疑问

问题描述

我正在编写技术书籍,研究Windows可移植可执行文件(PE)的节区特性,通过Python脚本修改样本程序的.text节区权限:

  • 移除执行特性后,程序运行触发段错误,符合预期;
  • 移除可读特性后,程序仍能正常执行,结果超出预期。

已重启虚拟机验证该现象,想确认这是Windows 11的已知行为还是潜在Bug,求各位提供见解或建议。

附相关验证材料:

  • 修改后权限仍可执行的状态截图
  • ObjDump分析结果截图

可能的原因及建议

  • 先确认修改操作的有效性:用dumpbin或PEview等工具检查.text节区的Characteristics字段,确保已正确移除IMAGE_SCN_MEM_READ标记,避免脚本出现偏移计算错误、未正确保存文件等问题;
  • Windows加载器的隐式权限处理:CPU执行指令必须读取内存中的代码,因此PE加载器可能会强制为.text节区添加可读权限,即使节区头中未设置该属性,否则程序根本无法加载执行;
  • 系统兼容性机制:Windows 11为兼容老旧程序,可能会对不合理的节区权限设置做容错处理,自动修正代码段的权限;
  • 样本程序的特殊情况:如果测试样本代码量极小或逻辑简单,系统加载时可能合并节区或让其继承其他内存区域的权限,导致权限修改未体现。

内容的提问来源于stack exchange,提问作者Jacob Mohrbutter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 00:05:00