Как пропатчить код в загруженном драйверею

Тема в разделе "WASM.RESEARCH", создана пользователем kolega, 3 май 2005.

  1. kolega

    kolega New Member

    Публикаций:
    0
    Регистрация:
    3 май 2005
    Сообщения:
    4
    subj система W2k

    Не подскажете какими функциями попользоваться

    из своего драйвера Кernel Mode



    PS А вообще такое возможно
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Перед именением кода драйвера в памяти, нужно сбросить WP бит.


    Код (Text):
    1.  
    2. mov eax, cr0
    3. mov ebx, eax
    4. and eax, 0xFFFEFFFF
    5. mov cr0, eax
    6.  




    после этого можно патчить код, главное потом не забыть восстановить cr0


    Код (Text):
    1.  
    2. mov cr0, ebx
    3.  
     
  3. kolega

    kolega New Member

    Публикаций:
    0
    Регистрация:
    3 май 2005
    Сообщения:
    4
    Я правильно понял что можно прямо так



    mov [адрес внутри какого то драйвера],eax



    Спасибо
     
  4. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    > Перед именением кода драйвера в памяти, нужно сбросить WP бит



    А разве код драйвера защищен от записи?
     
  5. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    > А разве код драйвера защищен от записи?



    Если памяти мало и испольутся 4 кб страницы, то да, если 4 мб - то нет.



    Я сам на эту фигню как-то напоролся, когда мой драйвер на одних компах работал, а на других вызывал BSOD, поэтому лучше сбрасывать.
     
  6. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    > Если памяти мало и испольутся 4 кб страницы, то да, если 4 мб - то нет.



    Буим знать и привыкать учиться на чужих ошибках. Спасибо за инфу.