Windows 内核:检索模块内的函数地址

Windows Kernel: Retrieving function addresses inside modules

我正在尝试调用内核中位于 win32kfull.sys 模块中的函数。 我使用 ZwQuerySystemInformation 获得了模块的基址。 现在我想找出位于 win32kfull.sys 模块中的 NtUserSendInput 函数的偏移量。 当我在 IDA Pro 中打开 win32kfull.sys 并打开函数时,我得到两个地址:

不幸的是我不知道如何将偏移量添加到win32kfull.sys的基地址以获得函数地址。

如果有人能向我解释我现在该如何进行,我将不胜感激。

由于NtUserSendInput是一个导出函数,也就是说图片的PE格式(具体是导出目录)如果解析正确,会让你知道函数的地址。

这是一个更好的解决方案,从 IDA Pro 中获取偏移量将为您提供 特定于版本的 地址,这意味着我必须为 win32kfull.sys 每次有新版本你都必须更新你的驱动程序。

所以,如果你有 win32kfull.sys 的基地址,你可以把它当作 PE 结构的起始地址并解析它,网上有很多关于如何做到这一点的教程。