Память переданная драйверам

Тема в разделе "WASM.NT.KERNEL", создана пользователем netex, 1 фев 2007.

  1. netex

    netex New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    114
    Адрес:
    Russia
    Как можно узнать адрес объекта Section (или Segment) который отвечает за загруженный драйвер?
    В структуре DriverObject есть поле Section, но у меня сильное подозрение что это не ссылка на секцию. Так как там иногда быват полная туфта (смотрел ссылки в WinDbg)
    Разбирал процесс загрузки MmLoadSystemImage есть подозрение что для не сессионных драйверов вообще нет объектов Section,Segment...
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290
    Код (Text):
    1. PLDR_DATA_TABLE_ENTRY Section = DriverObject->DriverSection;
    2.  if (Section != NULL)
    3. {
    4. DPRINT("DriverObject->DriverSection = 0x%x\n",DriverObject->DriverSection);
    5. DPRINT("Section->BaseAddress = 0x%x\n",Section->BaseAddress);
    6. DPRINT("Section->EntryPoint = 0x%x\n",Section->EntryPoint);
    7. DPRINT("Section->SizeOfImage = 0x%x\n",Section->SizeOfImage);
    8. DPRINT("Section->CheckSum = 0x%x\n",Section->CheckSum);
    9. DPRINT("Section->BaseDllName [%ws]\n",Section->BaseDllName.Buffer);
    10. DPRINT("Section->FullDllName [%ws]\n",Section->FullDllName.Buffer);
    11. }
    Так ее можно вообще занулить, а не только туфту всунуть =)

    ЗЫ..
    Что общего между названием топика и вопросом ???
     
  3. netex

    netex New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2005
    Сообщения:
    114
    Адрес:
    Russia
    Память переданная драйверам - памать которая выделяется ядром ОС для загрузки в нее тела драйвера. ОК?

    Так я с чего и начал разговор что часто по смещениям в объекте Section стоят либо 0 либо происходит обращение к невалидной памяти. Которую отладчик не может прочитать.
     
  4. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    netex
    Читать статьи мс-рема. там метод и описан, как объекты искать по хэндлам