вот в примере SAGa функция WriteAtCode использует VirtualProtect для того чтобы разрешить запись именно в те байты памяти, которые меняются, а потом восстанавливает к ним иходный доступ.
А если мой патч вызывает например миллион этих WriteAtCode.... не лучше ли сделать один вызов VirtualProtect для разрешения записи в весь геройский код, потом миллион патчей, и затем один VirtualProtect для восстаовления исходного доступа к всему геройскому коду.
Можно так? Что будет быстрее (рациональнее для машины) работать?
Что думаете?