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 结构的起始地址并解析它,网上有很多关于如何做到这一点的教程。
我正在尝试调用内核中位于 win32kfull.sys 模块中的函数。
我使用 ZwQuerySystemInformation 获得了模块的基址。
现在我想找出位于 win32kfull.sys 模块中的 NtUserSendInput 函数的偏移量。
当我在 IDA Pro 中打开 win32kfull.sys 并打开函数时,我得到两个地址:
不幸的是我不知道如何将偏移量添加到win32kfull.sys的基地址以获得函数地址。
如果有人能向我解释我现在该如何进行,我将不胜感激。
由于NtUserSendInput
是一个导出函数,也就是说图片的PE格式(具体是导出目录)如果解析正确,会让你知道函数的地址。
这是一个更好的解决方案,从 IDA Pro 中获取偏移量将为您提供 特定于版本的 地址,这意味着我必须为 win32kfull.sys 每次有新版本你都必须更新你的驱动程序。
所以,如果你有 win32kfull.sys 的基地址,你可以把它当作 PE 结构的起始地址并解析它,网上有很多关于如何做到这一点的教程。