Сплайсинг в нулевом кольце на новых версиях ядра (Виста, Вин7)

Тема в разделе "WASM.NT.KERNEL", создана пользователем d2k9, 31 янв 2010.

  1. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    Clerk
    Да ладно подсказывать. Пусть сам помучается :)
    От него было криков на 3 страницы о легкости реализации, а сейчас уже как 2 день пропал...
     
  2. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Ага, и что получим если возникнет исключение? ;)
     
  3. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Где хоть в одном посте слова о легкости реализации? Граблей хватает.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    medstrax1
    Получем вызов шлюза в IDT. Не имеет значения физический адрес дескрипторных страниц.
     
  5. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Мм, возможно я не совсем понял смысл действия. Если линейный адрес в IDTR промапить на некую другую физ.страницу - тогда при исключении проц получит непонятно что, хз что в этой страничке. В любом случае независимо от маппинга по линейному адресу в IDTR должна быть валидная IDT
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    medstrax1
    Сорри опечатки, имел ввиду физический адрес страницы который отображён на линейный и являющийся базой IDT.
    medstrax1
    Само собой понятно что описатель страницы и её содержимое должно быть валидно, а какже иначе.
     
  7. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Все равно не всосал, по буквам можешь разложить? Что то я не пойму как здесь можно что-то выкружить. Пусть IDTR = 12345678h.Пусть, к примеру, этот адрес мапится линейно на физ.адрес 12345000h, пусть странички 4Кб. Что дальше?
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    medstrax1
    Вот у вас проблемы с sidt. Зачем менять значение этого регистра, тоесть линейный базовый адрес IDT, если можно изменить физический адрес страницы, который спроецирован на линейный ?
    Тоесть либо писать в текущую таблицу, устанавливая тав шлюзы, либо переместить её, на сколько помню вы выбрали второй способ, собственно вокруг чего и крутимся.
     
  9. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Ок, понял. Только как это спасет от ПГ? Если оригинальная IDT не совпадает с той, которая содержится в физ.странице, отображенной на линейный адрес в IDTR - ПГ это увидит
     
  10. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Теоретически конечно можно, надо чтоб при выполнении потока PG CR3 указывал на фейковую PDE, т.е. не на фейковую конечно, но отображающую IDTR в другое место.
    Здесь дофига нюансов. Где гарантия что PG выполнится в контексте, где маппинг лин. на физ. фейковый? Это надо в любом случае закладываться на реализацию PG. Исходя из независимости от реализации проще фейкать sidt. Геморно конечно, 3 день кропаю, у..бался по полной )
     
  11. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Порадую клерка, добиться стабильности трейса пока не удалось. Не думаю правда что дело в камне. Что то не учел скорей всего.
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    medstrax1
    Обрадуете если заработает.
     
  13. Medstrax

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    Обязательно. Но хотелось бы услышать насчет подмены мапинга физ.страниц, мне там не все ясно, вопросы - см. выше
     
  14. Clerk

    Clerk Забанен

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

    Medstrax Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    673
    PFN? У грейта неплохая статейка, про пфн там вскользь