Patch Guard x64

Тема в разделе "WASM.X64", создана пользователем TarasCo, 24 июл 2006.

  1. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    Интересует обмен информации по сабжу

    если есть желание обсудить, можно сделать здесь
    http://groups.google.ru/group/patchguardx64
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Да че там обсуждать то? сплайси KeBugCheckEx и клади х..й на Patch Guard. Имхо это самый универсальный и простой способ. Если хочеться сделать извратно, то никто сегментацию памяти не отменял, и исполняемый код не равен читвемому, если cs != ds (это намек).
    Из других извратов могу назвать перехват чтения на уровне страниц. Либо можно вобще обойтись без патчей, использовав технологию виртуализации pacifica которая есть в amd64. Имхо это очень удобная фича для различных хуков.
     
  3. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    В последнем апдейте это не работает

    для этого нужно менять GDT - она таже контролируется. Можно попробывать, но у меня есть большое подозрение, что проверят состояние сегментных регистров :). Кроме того, это нужно сделать наверное для всех задач? А то при восстановлении следующего контекста все потеряется?

    для этого нужно подменить обработчик #PF, IDT - опять же контролируется. Кроме того, инересные места расположены в невытесняемой памяти.

    мне, впринципе, такой подход нравиться - заставить ядро ОС работать в этакой "виртуальной" машине, но IMHO - трудоемко довльно таки и может оказаться, что овчинка выделки не стоит :), но над этим полюбому стоит поразмыслить :)
     
  4. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    описано в uninformed vol3 там перезапуск треда, это не работает в sp2? почему?