【问题标题】:Identification of PE section characteristicPE断面特性识别
【发布时间】:2014-11-24 10:22:41
【问题描述】:

我需要确定给定的指针是指向可写还是不可写内存的指针。 我想,可能是指针指向一个PE段,而该段没有设置IMAGE_SCN_MEM_WRITE标志。

有没有简单的方法,如何仅基于指针获取截面特征? (我不想在运行时解析PE,我希望,有一些直接的方法。

【问题讨论】:

  • 你能清楚你手头有什么吗?您谈论的是 PE 文件,但不想读取或解析该文件。这似乎很奇怪。如果不查阅文件,您将如何学习任何东西?或者您是否在询问 PE 文件支持已加载到进程中的模块的场景?并且是加载模块的进程,你的代码执行的进程吗?请记住,我们不知道您的最终目标是什么。
  • 在 PE 被加载之前,它无论如何都没有地址,并且您可以拥有指向内存中(还)不存在的东西的指针。这个问题需要澄清。

标签: c++ windows visual-c++ memory portable-executable


【解决方案1】:

VirtualQuery 将为您提供所需的信息,如果 PE 文件已加载到内存中。指向未加载到内存中的内容的指针是没有意义的,因此这可能足以满足您的目的。

由于 VirtualQuery 适用于页面,因此将指针向下舍入到上一页边界,并将长度设置为仅检查一页。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2015-03-14
    • 2018-11-13
    • 2015-06-02
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多