【问题标题】:Assembly - Are those imports valid functions?装配 - 这些进口是有效的功能吗?
【发布时间】:2021-08-27 13:13:14
【问题描述】:

在反汇编 Portable Executables 时,我意识到导入部分通常包含像 __imp_GetPixel 这样的名称,而不是直接包含 GetPixelGetPixel 只是一个示例)。有什么原因吗?他们仍然指的是相同的功能吗? idata 中的 extrn 关键字是否总是指代函数,还是也可以指代常量?

示例文件:

现在,在上图中,这些导入是函数非常简单。但有时不是很清楚(这就是为什么我问是否只导入函数):

【问题讨论】:

  • __imp_func 这是一个变量,它持有指向 func 的指针
  • 在 PE 文件中,导入是一个函数指针表,将在加载时解析。代码跳转到该指针指向的位置。这是因为直到加载时才知道库在内存中的位置。

标签: winapi assembly x86 reverse-engineering disassembly


【解决方案1】:

PE 图像可以导入函数和数据。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 2012-11-24
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    相关资源
    最近更新 更多