Что это значит: KeServiceDescriptorTableShadow?

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

  1. WaterGhost

    WaterGhost New Member

    Публикаций:
    0
    Регистрация:
    15 июн 2007
    Сообщения:
    130
    Ребят, не скажете что это значит ? Что за Тень ? =\
    KeServiceDescriptorTableShadow. Это обычная KeServiceDescriptorTable ???
    Для чего используется эта тень и что она может предоставить ?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Читаем Руссиновича. Или он уже не рулит?

    KeServiceDescriptorTable содержит четыре таблицы сервисов, обычно заполнена только таблица сервисов ntoskrnl (нулевая по счету).
    Когда поток вызывает гуи-функцию впервые, обработчик sysenter смотрит, что получили гуйный Service ID и вызывает PsConvertToGuiThread, которая, кроме всего прочего, ставит потоку таблицу KeServiceDescriptorTableShadow - т.н. теневая таблица сервисов.
    В ней заполнены две таблицы - нулевая (ntoskrnl) и первая (win32k), последняя как раз и отвечает за GUI API.

    Это вкратце. А за подробностями, опять же, отсылаю к М.Руссиновичу и Д.Соломону. Глава - диспетчеризация системных сервисов, кажется
     
  3. WaterGhost

    WaterGhost New Member

    Публикаций:
    0
    Регистрация:
    15 июн 2007
    Сообщения:
    130
    А не скажете где его скачать ? =\
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    гугл
     
  5. ________

    ________ Дзынь Дзынь Дзэ Линь

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    24
    Адрес:
    GetAllocPlace{x,y,z}
    Да соломон хорошо постарался.Меня эта молния просто достает.Что она в данном случае может значить?Можно нормально перерисовать этот рисунок?
    [​IMG]
     
  6. ________

    ________ Дзынь Дзынь Дзэ Линь

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    24
    Адрес:
    GetAllocPlace{x,y,z}
    А по русиновичу это одна таблица.Вторая та что KeServiceDescriptorTableShadow.
    А остальные (две?) можно добавлять командой KeAddSystemServiceTable