Патчинг премаппеного ntdll в ядре

Тема в разделе "WASM.WIN32", создана пользователем RW, 25 июн 2010.

  1. RW

    RW New Member

    Публикаций:
    0
    Регистрация:
    12 июн 2010
    Сообщения:
    9
    Понадобилось, дабы во все процессы попадал патченый ntdll. По идее когда копируется ап из ядра в MmInitializeProcessAddressSpac(), то оригинальный образ библы должно брать тоже. Пропатчил в ядре, но в оригинальные процессы попадает всегда чистый и не патченый, в чем загвоздка ?
    ps: Образ в ядре постоянно остается патченым, PspMapSystemDll() и co. его не трогают.
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Не понял, где патчите нтдлл, в памяти или на диске? Это раз.
    Если в памяти, то патчите read-only секции или writeable тоже?
    Что такое "оригинальные процессы"? Имелось в виду "остальные процессы"?
     
  3. RW

    RW New Member

    Публикаций:
    0
    Регистрация:
    12 июн 2010
    Сообщения:
    9
    В памяти. Патчу read-only предварительно сменив vp на page_executable_writable. Остальные имелось ввиду все =)
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Тебе выделяются частные копии страниц, когда ты делаешь ZwProtectVirtualMemory. Их ты и изменяешь. Другие процессы видят оригинальное содержимое
     
  5. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Помоему автор невкурсе про CopyOnWrite совсем.