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

Discussion in 'WASM.NT.KERNEL' started by WaterGhost, Mar 1, 2008.

  1. WaterGhost

    WaterGhost New Member

    Blog Posts:
    0
    Joined:
    Jun 15, 2007
    Messages:
    130
    Ребят, не скажете что это значит ? Что за Тень ? =\
    KeServiceDescriptorTableShadow. Это обычная KeServiceDescriptorTable ???
    Для чего используется эта тень и что она может предоставить ?
     
  2. wasm_test

    wasm_test wasm test user

    Blog Posts:
    0
    Joined:
    Nov 24, 2006
    Messages:
    5,582
    Читаем Руссиновича. Или он уже не рулит?

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

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

    WaterGhost New Member

    Blog Posts:
    0
    Joined:
    Jun 15, 2007
    Messages:
    130
    А не скажете где его скачать ? =\
     
  4. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    гугл
     
  5. ________

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

    Blog Posts:
    0
    Joined:
    Jul 30, 2008
    Messages:
    24
    Location:
    GetAllocPlace{x,y,z}
    Да соломон хорошо постарался.Меня эта молния просто достает.Что она в данном случае может значить?Можно нормально перерисовать этот рисунок?
    [​IMG]
     
  6. ________

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

    Blog Posts:
    0
    Joined:
    Jul 30, 2008
    Messages:
    24
    Location:
    GetAllocPlace{x,y,z}
    А по русиновичу это одна таблица.Вторая та что KeServiceDescriptorTableShadow.
    А остальные (две?) можно добавлять командой KeAddSystemServiceTable