Я новичок в программировании драйверов устройств.Я следовал за доступными учебниками в Интернете, которые предоставили полезную информацию для начала.Однако теперь я приступил к новому проекту, где единственной целью является поиск функций, которые были перехвачены вредоносными программами или кейлоггерами.Поэтому я думаю, что я разобрался, что мне нужно для достижения этой цели, хотя мне все еще нужно иметь возможность определить адрес загрузки системных библиотек DLL (то есть kernel32.dll, user32.dll и т. П.), Которые уже загружены в память.Мне нужен адрес загрузки, чтобы я мог разобрать их PE, чтобы добраться до разделов экспорта и импорта.Кроме того, добавление адреса загрузки к размеру файла даст мне диапазон адресов для перекрестной ссылки на адреса функций экспорта.Перекрестные ссылки на адрес IMPORT будут немного сложнее, но это можно сделать по моим оценкам.Я думал, что создание драйвера режима ядра будет правильным путем, поскольку доступ к памяти вне диапазона адресов драйвера ядра не будет проблемой для драйвера в отличие от приложения в режиме пользователя.Как еще я смогу получить доступ к адресам, расположенным в EAT и IAT целевой библиотеки DLL?Я знаю, что существует API пользовательского режима, который может предоставить адрес загрузки, в основном, GetModuleHandle, но я хотел бы найти эквивалент в режиме ядра.Я мог бы написать приложение пользовательского режима, которое могло бы передавать эту информацию драйверу, но предпочел бы, чтобы все это было сделано в режиме ядра, если это возможно.Любые предложения или комментарии будут приветствоваться.
Заранее спасибо
Виктор
ps Это сообщение было отредактировано для большей ясности.Надеюсь, это станет более понятным, чем то, что я пытаюсь достичь.