C ++ PEB_LDR_DATA списки модулей доступа - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь получить доступ к 3 спискам модулей в PEB_LDR_DATA и распечатать их (InLoadOrderModuleList, InMemoryOrderModuleList, InInitializationOrderModuleList).

Мне удалось получить доступ к InMemoryOrderModuleList, когда я пытаюсь получить доступ к списку и вывести его, InLoadOrderModuleList / InInitializationOrderModuleList Я получаю ошибку, которая не распознается.

Я новичок в c ++ и оконном API, и после того, как я немного прочитал о структуре PEB_LDR_DATA на нескольких веб-сайтах, я увидел разные структуры.

например: microsoft , sandsprite , nirsoft

Какой из них правильный? Почему я не смог получить к ним доступ или как получить доступ к этому.

1 Ответ

1 голос
/ 31 марта 2020

Похоже, что ваша ссылка nirsoft имеет наиболее полное определение. В документации Microsoft будут предоставлены только определенные поля "publi c", чтобы он мог изменить определение позднее.

Проект Terminus *1003* предоставляет хорошие определения (основанные на заголовках и символьные данные), показывающие, как структуры изменились между версиями ОС.

Текущая версия эпохи Win10 (x64):

0x0000  unsigned long Length
0x0004  uint8_t Initialized
0x0008  void * SsHandle
0x0010  struct _LIST_ENTRY InLoadOrderModuleList
0x0020  struct _LIST_ENTRY InMemoryOrderModuleList
0x0030  struct _LIST_ENTRY InInitializationOrderModuleList
0x0040  void * EntryInProgress
0x0048  uint8_t ShutdownInProgress
0x0050  void * ShutdownThreadId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...