возвращаемый адрес функции GetProcAddress отличается от адреса в ssdt
Я нашел очень интересный результат об адресе функции
. Я пытался понять, что такое ssdt, и обнаружил, что ssdt содержит адрес функции.
Однако есть одна вещь, которую я не понимаю.
Когда я получаю адрес функции через GetProcAddress, он дает мне реальный адрес функции. Но когда я нашел его в ssdt, этот адрес отличается от фактического адреса функции.
позвольте мне показать вам снимок экрана.
сначала я загружаю ntkrnlpa.exe с помощью функции Loadlibrary. а затем ntkrnlpa.exe был загружен по адресу 0x440000. адрес функции NtCreateFile был 0x4e20a2(с использованием GetProcAddress).
но когда я искал ssdt, адрес NtCreateFile был 0x4a20a2 в ssdt.
Я не уверен, что это связано с базой изображений, база изображений файла ntkrnlpa.exe - 0x400000. и загружается по адресу 0x440000.
как это может случиться? кто-нибудь, помогите мне....