получить базу ядра через KPCR

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

  1. Synth

    Synth New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2007
    Сообщения:
    50
    собственно, вопрос простой...
    как получить базу ntoskrnl, используя только fs:[0]

    ясно что надо получить какойто адрес из области ядра и прошагать к MZ...
    IdleThread в висте (по крайней мере в СП1) не входит в ядро;
    KdVersionBlock отсутствует в 2к;
    а мне необходима совместимость с 2к --- виста сп1

    сижу вот методом научного тыка ищу подходящий указатель... может кто-то подскажет?
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Там нет откуда выжать. Я бы взял из системной таблицы какой-либо указатель на ntos(например IDT).
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    fs:[34h] (KPCR::KdVersionBlock) и крутить вниз страницами, проверяя попутно MmIsAddressValid (могут попасться выгруженные секции) до MZ/PE-загловка.
     
  4. Synth

    Synth New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2007
    Сообщения:
    50
    а первый пост прочитали?

    решил проблему через sidt -> int40. тему можно закрывать.
     
  5. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    И что ж там находится по 40h?
     
  6. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Может быть тогда, тупо, заюзать ZwQuerySystemInformation? Зато совместимость будет и с последующими версиями...
     
  7. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    а если он перехвачен?
     
  8. Synth

    Synth New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2007
    Сообщения:
    50
    хм... не думаю что есть какойто смысл перехватывать, к примеру, инт40. поправьте меня если я ошибаюсь.