Замена MajorFunction "чужого" драйвера

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

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Недавно, ковыряя один драйвер обнаружил, что он при модификации таблицы MajorFunction другого драйвера отключает защиту памяти, т.е., делает, что то типа CR0 &= 0xFFFEFFFF. Непосредсвенно после модификации CR0 возвращается в свое исходное значение.

    Я никогда раньше подобного трюка с регистром CR0 не делал и вроде все работало. Нужно ли отменять зашиту памяти при изменении MajorFunction?
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Нет, DRIVER_OBJECT обычно доступен на запись (обратная ситуация не представляется вероятной).
    И вообще, трюки с CR0 - зло, я стопицот раз писал почему.
     
  3. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Проверь откуда вызывается код что модифицирует память, вероятно это универсальная функция используется несколько раз.
     
  4. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Функция вызывается только один раз из DriverEntery.