-1

我有在Windows (WOW64)32bit上运行的应用程序。64bit我需要知道几个WinAPI函数的地址kernel32.dll

A 可以很容易地在32bit kernel32.dll:中获得函数的地址,GetProcAddress效果很好。

但是 Windows 提供不同kernel32.dll的应用程序(32bit64bit映射到应用程序地址空间中不同地址的库 - 我不确切知道)。而且app中的WinAPI函数地址和32bitapp中的不一样64bit

如何通过64bit kernel32.dll使用32bit应用程序获取功能的地址?我不想64bit为了知道所需功能的地址而启动单独的进程。

4

1 回答 1

1

我认为这个问题没有意义。由于 ASLR,您只能询问“将 DLL 加载到我的进程中时函数的地址是什么(*)”,并且您无法将 64 位 DLL 加载到 32 位进程中。

(*) 在特定启动后运行的每个进程的答案当前可能是相同的,但我敢打赌 API 支持kernel32.dll每个进程的不同地址。

(当然,64 位的值很可能比 32 位的指针大得多。)

于 2015-12-21T12:37:34.893 回答