Старые антиотладочные приемы на новый лад

       

просмотр списка установленных (псевдо)устройств утилитой objdir


Как видно, PhysicalMemory это не совсем устройство, точнее совсем не устройство (Device), а секция (Section), поэтому для работы с ней следует использовать функцию NtOpenSection. Пример простейшей реализации такого вызова приведен ниже:

// разные переменные

NTSTATUS ntS; HANDLE Section; OBJECT_ATTRIBUTES ObAttributes;

INIT_UNICODE(ObString, L"\\Device\\PhysicalMemory");

// инициализация атрибутов

InitializeObjectAttributes(&ObAttributes, &ObString,

                           OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);

// открываем секцию PhysicalMemory

ntS = NtOpenSection(&Section, SECTION_MAP_READ|SECTION_MAP_WRITE, &ObAttributes);



Содержание раздела