Получить адрес функции из 64-битного kernel32.dll с помощью 32-битного приложения

я имею 32bit приложение, которое работает на 64bit Windows (WOW64).
Мне нужно знать адреса нескольких WinAPI функции от kernel32.dll,

А может легко получить адрес функции в 32bit kernel32.dll: GetProcAddress работает хорошо.

Но Windows предоставляет разные kernel32.dll за 32bit а также 64bit приложения (или библиотеки, сопоставленные с разными адресами в адресном пространстве приложения — я точно не знаю).
И адрес WinAPI функция в 32bit приложение не такое, как в 64bit приложение.

Как я могу получить адреса функций от 64bit kernel32.dll с помощью 32bit приложение?
Я не хочу запускать отдельный 64bit процесс просто узнать адреса необходимых функций.

-1

Решение

Я не думаю, что вопрос имеет смысл. Из-за ASLR вы можете спросить «каков адрес функции, когда DLL загружена в мой процесс (*)», и вы не можете загрузить 64-битную DLL в 32-битный процесс.

(*) Может случиться так, что ответ в настоящее время одинаков для каждого процесса, запускаемого после конкретной загрузки, но я уверен, что API поддерживает другой адрес для kernel32.dll для каждого процесса.

(Также, конечно, 64-битное значение, вероятно, будет намного больше, чем уместится в 32-битном указателе.)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]