Мы в ядре - а как дальше быть?

Тема в разделе "WASM.NT.KERNEL", создана пользователем joktar, 30 июн 2010.

  1. joktar

    joktar New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2009
    Сообщения:
    7
    Такой вопрос - запущен код в режиме ядра,запущен изначально не совсем штатным путем,драйвер не загружался.Просто блок кода исполняемый в нулевом кольце.
    Как из этого кода поиметь доступ к штатным API ядра?,был бы это юзерспейс то понятно-определить адреса LoadLibrary/GetProcAddress и дальше работать а из ядра как?свой юзерспейсный процесс и так есть.

    (желательно решение совместимое с XP/Win7 32/64)
     
  2. wf_

    wf_ New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2009
    Сообщения:
    40
    находишь базу ядра, разбираешь экспорты - получаешь адреса нужных функций, юзаешь =)
     
  3. joktar

    joktar New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2009
    Сообщения:
    7
    а подробнее нельзя?
    где и что читать..
    (мало скажем так опыта в этой области)
     
  4. wf_

    wf_ New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2009
    Сообщения:
    40
    http://www.uninformed.org/?v=3&a=4&t=sumry - вроде неплохая стотья
     
  5. joktar

    joktar New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2009
    Сообщения:
    7
    спасибо -:)
    буду читать
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    joktar
    o Previous mode ?
    o Trap frame сформирован ?
    o IRQL ?
    o IF ?
    ..
     
  7. joktar

    joktar New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2009
    Сообщения:
    7
    Clerk
    уточняю:

    на машине загружен модифицированный BitVisor ( http://cr4sh-0x48k.livejournal.com/42672.html http://portal.acm.org/citation.cfm?id=1508311)
    из под него - Windows
    BitVisor получает из userspace блок кода на исполнение(в обход всех интерфейсов ядра windows),
    копирует его себе в статический буфер и должен его запустить в ядре

    как я понимаю - IF - по желанию
    Previous mode - соответственно Ring -1 (VT-x'овый)
    IRQL - на момент активации - PASSIVE(изначально то вызов был из userspace)
    Trap frame - нет
     
  8. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    ребят Вы не про MmGetSystemRoutineAddress?
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    joktar
    Используйте готовые решения, видимо для вас это весьма сложно пока.)