Что делает функция VirtualProtect из Kernel32?

Я перепроектировал файл, и я наткнулся на эту строку кода

Call DWORD PTR DS:[3F1010]

и комментарий ollydbg к этой строке, Kernel32.VirtualProtect

Вопрос в том, что делает эта функция? Я уже провел собственное исследование этой функции в MSDN, но до сих пор не могу понять это ясно. Означает ли это также, что память или виртуальная страница (как вы ее называете), которую она защищает, не будут доступны для чтения в ollydbg?

1 ответ

Решение

VirtualProtect изменяет параметры защиты (т. Е. Способ, которым приложение получает доступ к памяти) некоторой области памяти, уже выделенной с помощью VirtualAllocate или других функций памяти. Доступно много вариантов защиты: только чтение, перезапись, выполнение, все они и т. Д. Проверьте их в MSDN.

Как правило, когда выделяется память, ей назначаются некоторые из этих вариантов защиты. Но если кто-то хочет изменить их позже - VirtualProtect - это функция, которую он должен использовать.

Другие вопросы по тегам