diff options
| author | Pierre Graux <pierre.graux@ensimag.grenoble-inp.fr> | 2016-08-31 14:09:40 +0200 |
|---|---|---|
| committer | Pierre Graux <pierre.graux@ensimag.grenoble-inp.fr> | 2016-09-01 12:28:35 +0200 |
| commit | 4c019ff2a7d53e3b8b1d74f6bdae6a7523d7871b (patch) | |
| tree | cedcef86bdc3c18b100923aa6a82201e2f9f8219 /test/jitter/vm_mngr.py | |
| parent | 6d518de0330d3ffecffb138fd1d94b258052e0d0 (diff) | |
| download | miasm-4c019ff2a7d53e3b8b1d74f6bdae6a7523d7871b.tar.gz miasm-4c019ff2a7d53e3b8b1d74f6bdae6a7523d7871b.zip | |
Add a way to retrieve memory access right
Diffstat (limited to 'test/jitter/vm_mngr.py')
| -rw-r--r-- | test/jitter/vm_mngr.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/jitter/vm_mngr.py b/test/jitter/vm_mngr.py new file mode 100644 index 00000000..b2b7336b --- /dev/null +++ b/test/jitter/vm_mngr.py @@ -0,0 +1,26 @@ +from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE +from miasm2.analysis.machine import Machine + +myjit = Machine("x86_32").jitter() + +base_addr = 0x13371337 +page_size = 0x1000 +data = "\x00" * page_size +rights = [0, PAGE_READ, PAGE_WRITE, PAGE_READ|PAGE_WRITE] +shuffled_rights = [PAGE_READ, 0, PAGE_READ|PAGE_WRITE, PAGE_WRITE] + +# Add pages +for i, access_right in enumerate(rights): + myjit.vm.add_memory_page(base_addr + i * page_size, access_right, data) + +# Check rights +for i, access_right in enumerate(rights): + assert myjit.vm.get_mem_access(base_addr + i * page_size) == access_right + +# Modify rights +for i, access_right in enumerate(shuffled_rights): + myjit.vm.set_mem_access(base_addr + i * page_size, access_right) + +# Check for modification +for i, access_right in enumerate(shuffled_rights): + assert myjit.vm.get_mem_access(base_addr + i * page_size) == access_right |