возвращаемый адрес функции GetProcAddress отличается от адреса в ssdt

Я нашел очень интересный результат об адресе функции

. Я пытался понять, что такое ssdt, и обнаружил, что ssdt содержит адрес функции.
Однако есть одна вещь, которую я не понимаю.

Когда я получаю адрес функции через GetProcAddress, он дает мне реальный адрес функции. Но когда я нашел его в ssdt, этот адрес отличается от фактического адреса функции.

позвольте мне показать вам снимок экрана.

сначала я загружаю ntkrnlpa.exe с помощью функции Loadlibrary. а затем ntkrnlpa.exe был загружен по адресу 0x440000. адрес функции NtCreateFile был 0x4e20a2(с использованием GetProcAddress).

но когда я искал ssdt, адрес NtCreateFile был 0x4a20a2 в ssdt.



Я не уверен, что это связано с базой изображений, база изображений файла ntkrnlpa.exe - 0x400000. и загружается по адресу 0x440000.
как это может случиться? кто-нибудь, помогите мне....

0 ответов

Другие вопросы по тегам