Показать сообщение отдельно
Старый 26.07.2013, 14:41   #1
dark
Читодел
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 965
Благодарностей:
36,577 всего
Мнения: + 37727
Репутация: 116394
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

Как самому заморозить значение в памяти?


Задался этим вопросом, решил не экспериментировать, а тупо посмотреть дебаггером как это делает СЕ. Увидел интересную картину:
VirtualProtectEx с флагом "PAGE_EXECUTE_READWRITE"
WriteProcessMemory с замороженным значением
VirtualProtectEx с флагом "PAGE_READWRITE"

И так по кругу, разумеется, с огромной скоростью. И собственно не понимаю что за игра флагами идёт? Оба флага позволяют запись, то есть приложение может писать по этому адресу так или иначе. При этом зачем первый флаг, если для WriteProcessMemory флаг исполнения совершенно не важен. В общем, какая логика в этом цикле? И может тупо выставить PAGE_READONLY?

Cheats Development | Создание читов на заказ

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием