【问题标题】:Read function imported from kernel32.dll in pe on win64在win64上的pe中读取从kernel32.dll导入的函数
【发布时间】:2017-05-22 08:43:35
【问题描述】:

我尝试在 win64 的 pe 中读取从 kernel32.dll 导入的函数。似乎零填充的 IMAGE_THUNK_DATA 是 IMAGE_THUNK_DATA 数组的结尾。但我发现在 kernel32.dll 的 IMAGE_THUNK_DATA 数组中,第二个 IMAGE_THUNK_DATA 填充为 0。这意味着只有一个从 kernel32 导入的函数?或者如何获取 IMAGE_THUNK_DATA 数组的大小?

【问题讨论】:

  • 只是你犯了一些错误

标签: portable-executable win64


【解决方案1】:

An In-Depth Look into the Win32 Portable Executable File Format, Part 2:

每个 IMAGE_IMPORT_DESCRIPTOR 通常基本上指向两个 相同的数组。这些数组有好几个名字,但是 两个最常见的名称是导入地址表 (IAT) 和 导入名称表 (INT)。

...

两个数组都有 IMAGE_THUNK_DATA 类型的元素,这是一个 指针大小的联合。每个 IMAGE_THUNK_DATA 元素对应一个 从可执行文件中导入的函数。两个数组的末端是 由值为 0 的 IMAGE_THUNK_DATA 元素指示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多