Функция, возвращающая 32-битный адрес, когда я хочу 64-битный - PullRequest
0 голосов
/ 03 декабря 2018

Я играю с библиотекой для рефлексивной загрузки DLL.Вот файл, с которым у меня возникают проблемы:

https://github.com/stephenfewer/ReflectiveDLLInjection/blob/master/inject/src/GetProcAddressR.c

В последней строке:

return fpResult;

Содержит правильный полный адрес функции I.я пытаюсь получить адрес.

Когда я возвращаюсь к своей основной программе, которая выглядит следующим образом:

PVOID address = GetProcAddressR(buffer, length);

Адрес усекается до 32-разрядного числа.

0x00002023A83EFF30

превращается в

0xFFFFFFFA83EFF30

Я проверяю разборку этого и похоже, что вызывается инструкция

CDQE 

, которая решает именно мою проблему.Тем не менее, я не уверен, где в приведенном выше файле вызывает что-либо из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...