diff options
| -rw-r--r-- | miasm2/os_dep/win_api_x86_32.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/miasm2/os_dep/win_api_x86_32.py b/miasm2/os_dep/win_api_x86_32.py index 90440a46..0101152a 100644 --- a/miasm2/os_dep/win_api_x86_32.py +++ b/miasm2/os_dep/win_api_x86_32.py @@ -739,7 +739,10 @@ def kernel32_VirtualProtect(jitter): old = jitter.vm.get_mem_access(args.lpvoid) jitter.vm.set_mem(args.lpfloldprotect, pck32(ACCESS_DICT_INV[old])) - jitter.vm.set_mem_access(args.lpvoid, ACCESS_DICT[flnewprotect]) + for addr in jitter.vm.get_all_memory(): + # Multi-page + if args.lpvoid <= addr < args.lpvoid + args.dwsize: + jitter.vm.set_mem_access(addr, ACCESS_DICT[flnewprotect]) jitter.func_ret_stdcall(ret_ad, 1) |