gpt4 book ai didi

c - GetProcAddress(GetModuleHandle ("user32.dll"), "DefWindowProcW") 返回 ntdll 中的地址

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:10 26 4
gpt4 key购买 nike

我使用的是 Windows 7 Professional x64。

我需要 Hook DefWindowProcW 过程。但是当我尝试通过 GetProcAddress() 获取它的地址时,它返回位于 ntdll.dll 中的 NtdllDefWindowProcW() 的地址。在 NtdllDefWindowProcW() 的开头跳转到真正的 user32 函数 DefWindowProcW()

有没有办法获取真正的程序地址而不是ntdll程序?

最佳答案

这就是所谓的转发导出。该功能在早期版本的 Windows 中的 user32 中实现。但在某个时候,微软决定将其移至 ntdll。为了避免破坏应用程序,user32 导出转发到 ntdll 中名为 "NtdllDefWindowProc_W" 的函数。

ntdll中的转发地址是函数真正实现的地方。它可能随后调用 user32 是一个实现细节。所以,如果你想钩住 DefWindowProcW,你可以很好地钩住你调用

返回的地址
GetProcAddress(GetModuleHandle("user32.dll"), "DefWindowProcW")

关于c - GetProcAddress(GetModuleHandle ("user32.dll"), "DefWindowProcW") 返回 ntdll 中的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30871183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com