Как изменить аттрибуты страницы памяти?

Тема в разделе "WASM.NT.KERNEL", создана пользователем zoool, 4 апр 2008.

  1. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    САБЖ

    Есть страница памяти в ядре
    По умолчанию она доступна только на чтение (как пример - сдт)
    Нужно сделать так, чтобы при включенном WP-бите, запись в этот регион не вызывала БСОД

    Вопрос - как изменить аттрибуты страницы памяти? заранее благодарен
     
  2. Sheph

    Sheph New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2008
    Сообщения:
    89
    Мм, может MmSecureVirtualMemory поможет ?
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    PTE->Write = 1 если страница не является видом секции (ZwMapViewOfSection не было для этого VA) и является неподкачиваемой.
     
  4. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    respect!
    оба метода работают!
     
  5. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    zoool
    Sheph
    zoool
    очень интересно! действительно оба метода работают??? или так просто сказал???

    PAGE:0049C86C ; int __stdcall MiSecureVirtualMemory(PVOID Address, SIZE_T Length, int, int)
    PAGE:0049C86C _MiSecureVirtualMemory@16 proc near ; CODE XREF: MmSecureVirtualMemory(x,x,x)+E
    PAGE:0049C86C push 40h
    PAGE:0049C86E push offset dword_414DA0
    PAGE:0049C873 call __SEH_prolog
    PAGE:0049C878 mov ecx, [ebp+Address]
    PAGE:0049C87B mov eax, [ebp+Length]
    PAGE:0049C87E add eax, ecx
    PAGE:0049C880 mov [ebp+var_48], eax
    PAGE:0049C883 cmp eax, _MmHighestUserAddress
    PAGE:0049C889 ja loc_50B3EA
    ...
    PAGE:0050B3EA loc_50B3EA:
    PAGE:0050B3EA xor eax, eax
    PAGE:0050B3EC jmp loc_49CADC
    ...
    PAGE:0049CADC loc_49CADC:
    PAGE:0049CADC call __SEH_epilog
    PAGE:0049CAE1 retn 10h
    PAGE:0049CAE1 _MiSecureVirtualMemory@16 endp
     
  6. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    так просто сказал

    Тогда как кроме РТЕ изменить аттрибуты страницы, которая находится не в ЮЗЕРМОДЕ?
     
  7. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    или править PTE или btr cr0,10h
    других вариантов нету
    btr cr0,10h на многопроцессорной системе надо гардить, реально успевает зараза переключиться и упасть