【问题标题】:executable sections flag可执行部分标志
【发布时间】:2010-10-12 18:35:30
【问题描述】:

可移植可执行文件的各个部分使用不同的标志进行标记。有人可以解释 IMAGE_SCN_MEM_EXECUTE (该部分可以作为代码执行)和 IMAGE_SCN_CNT_CODE (该部分包含可执行代码)之间的区别吗?谢谢。

【问题讨论】:

    标签: reverse-engineering portable-executable


    【解决方案1】:

    IMAGE_SCN_MEM_EXECUTE 是 PE 加载器实际用来设置页面权限的那个。没有使用IMAGE_SCN_CNT_CODE,我猜它只是一个描述性标志。

    【讨论】:

    • 使用IMAGE_SCN_MEM_EXECUTE,不使用IMAGE_SCN_CNT_CODE!这是答案吗?你怎么能说这个? COFF 规范并没有真正的帮助。是不是意味着 IMAGE_SCN_CNT_CODE 没有意义,可以忽略?谢谢。
    • 这是我使用 PE 文件和 Windows 的经验。您可以自己尝试 - 切换位并查看文件是否运行。
    • 我刚刚查看了 Firefox 的下载包(“Firefox Setup 3.6.10.exe”)。此软件包已使用 UPX 压缩(参见典型的部分名称)。有趣的是,UPX0 和 UPX1 部分都标记有 IMAGE_SCN_MEM_EXECUTE 但 NONE 有 IMAGE_SCN_CNT_CODE!这可以证实你所说的。不过说实话,我对此还是有些迷茫的。
    猜你喜欢
    • 2020-04-19
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    相关资源
    最近更新 更多