diff options
Diffstat (limited to 'test/jitter')
| -rw-r--r-- | test/jitter/bad_block.py | 4 | ||||
| -rw-r--r-- | test/jitter/jit_options.py | 10 | ||||
| -rw-r--r-- | test/jitter/jitcore.py | 4 | ||||
| -rw-r--r-- | test/jitter/jitload.py | 5 | ||||
| -rw-r--r-- | test/jitter/jmp_out_mem.py | 5 | ||||
| -rw-r--r-- | test/jitter/mem_breakpoint.py | 4 | ||||
| -rw-r--r-- | test/jitter/test_post_instr.py | 4 | ||||
| -rw-r--r-- | test/jitter/vm_mngr.py | 4 |
8 files changed, 29 insertions, 11 deletions
diff --git a/test/jitter/bad_block.py b/test/jitter/bad_block.py index 256d2388..e7484c9e 100644 --- a/test/jitter/bad_block.py +++ b/test/jitter/bad_block.py @@ -2,6 +2,7 @@ import sys from miasm.core.utils import decode_hex from miasm.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_UNK_MNEMO from miasm.analysis.machine import Machine +from miasm.core.locationdb import LocationDB def code_sentinelle(jitter): jitter.run = False @@ -9,7 +10,8 @@ def code_sentinelle(jitter): return True machine = Machine("x86_32") -jitter = machine.jitter(sys.argv[1]) +loc_db = LocationDB() +jitter = machine.jitter(loc_db, sys.argv[1]) jitter.init_stack() diff --git a/test/jitter/jit_options.py b/test/jitter/jit_options.py index 74808330..f1258323 100644 --- a/test/jitter/jit_options.py +++ b/test/jitter/jit_options.py @@ -5,6 +5,7 @@ import sys from miasm.core.utils import decode_hex from miasm.jitter.csts import PAGE_READ, PAGE_WRITE from miasm.analysis.machine import Machine +from miasm.core.locationdb import LocationDB from pdb import pm # Shellcode @@ -21,16 +22,17 @@ from pdb import pm data = decode_hex("b810000000bb0100000083e8010f44cb75f8c3") run_addr = 0x40000000 +loc_db = LocationDB() def code_sentinelle(jitter): jitter.run = False jitter.pc = 0 return True -def init_jitter(): +def init_jitter(loc_db): global data, run_addr # Create jitter - myjit = Machine("x86_32").jitter(sys.argv[1]) + myjit = Machine("x86_32").jitter(loc_db, sys.argv[1]) myjit.vm.add_memory_page(run_addr, PAGE_READ | PAGE_WRITE, data) @@ -44,7 +46,7 @@ def init_jitter(): # Test 'max_exec_per_call' print("[+] First run, to jit blocks") -myjit = init_jitter() +myjit = init_jitter(loc_db) myjit.init_run(run_addr) myjit.continue_run() @@ -78,7 +80,7 @@ assert myjit.cpu.EAX >= 0xA # Test 'jit_maxline' print("[+] Run instr one by one") -myjit = init_jitter() +myjit = init_jitter(loc_db) myjit.jit.options["jit_maxline"] = 1 myjit.jit.options["max_exec_per_call"] = 1 diff --git a/test/jitter/jitcore.py b/test/jitter/jitcore.py index 75360542..1e009d9a 100644 --- a/test/jitter/jitcore.py +++ b/test/jitter/jitcore.py @@ -1,8 +1,10 @@ import sys +from miasm.core.locationdb import LocationDB from miasm.analysis.machine import Machine machine = Machine("x86_64") -jitter = machine.jitter(sys.argv[1]) +loc_db = LocationDB() +jitter = machine.jitter(loc_db, sys.argv[1]) jitter.cpu.RAX = 16565615892967251934 assert jitter.cpu.RAX == 16565615892967251934 diff --git a/test/jitter/jitload.py b/test/jitter/jitload.py index 3038c21c..7a72d1d5 100644 --- a/test/jitter/jitload.py +++ b/test/jitter/jitload.py @@ -5,12 +5,15 @@ from miasm.core.utils import decode_hex, encode_hex from miasm.jitter.csts import PAGE_READ, PAGE_WRITE from miasm.analysis.machine import Machine from miasm.expression.expression import ExprId, ExprAssign, ExprInt, ExprMem +from miasm.core.locationdb import LocationDB + # Initial data: from 'example/samples/x86_32_sc.bin' data = decode_hex("8d49048d5b0180f90174058d5bffeb038d5b0189d8c3") +loc_db = LocationDB() # Init jitter -myjit = Machine("x86_32").jitter(sys.argv[1]) +myjit = Machine("x86_32").jitter(loc_db, sys.argv[1]) myjit.init_stack() run_addr = 0x40000000 diff --git a/test/jitter/jmp_out_mem.py b/test/jitter/jmp_out_mem.py index 2b064f73..3d01aacc 100644 --- a/test/jitter/jmp_out_mem.py +++ b/test/jitter/jmp_out_mem.py @@ -2,6 +2,8 @@ import sys from miasm.core.utils import decode_hex from miasm.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_ACCESS_VIOL from miasm.analysis.machine import Machine +from miasm.core.locationdb import LocationDB + def code_sentinelle(jitter): jitter.run = False @@ -10,7 +12,8 @@ def code_sentinelle(jitter): machine = Machine("x86_32") -jitter = machine.jitter(sys.argv[1]) +loc_db = LocationDB() +jitter = machine.jitter(loc_db, sys.argv[1]) jitter.init_stack() diff --git a/test/jitter/mem_breakpoint.py b/test/jitter/mem_breakpoint.py index 502d3d2b..8a5d69c5 100644 --- a/test/jitter/mem_breakpoint.py +++ b/test/jitter/mem_breakpoint.py @@ -5,6 +5,7 @@ from miasm.core.utils import decode_hex from miasm.analysis.machine import Machine from miasm.jitter.csts import PAGE_READ, PAGE_WRITE, \ EXCEPT_BREAKPOINT_MEMORY, EXCEPT_ACCESS_VIOL +from miasm.core.locationdb import LocationDB def mem_breakpoint_handler(jitter): print("======") @@ -35,7 +36,8 @@ def mem_breakpoint_handler(jitter): return True machine = Machine("aarch64l") -jitter = machine.jitter(sys.argv[1]) +loc_db = LocationDB() +jitter = machine.jitter(loc_db, sys.argv[1]) start_addr = 0xFFFFFF8008080000 end_addr = start_addr + 0x8000000 diff --git a/test/jitter/test_post_instr.py b/test/jitter/test_post_instr.py index 52274a46..16e51830 100644 --- a/test/jitter/test_post_instr.py +++ b/test/jitter/test_post_instr.py @@ -5,9 +5,11 @@ from miasm.core.utils import decode_hex from miasm.analysis.machine import Machine from miasm.jitter.csts import PAGE_READ, PAGE_WRITE, \ EXCEPT_BREAKPOINT_MEMORY, EXCEPT_ACCESS_VIOL +from miasm.core.locationdb import LocationDB machine = Machine("x86_32") -jitter = machine.jitter(sys.argv[1]) +loc_db = LocationDB() +jitter = machine.jitter(loc_db, sys.argv[1]) # Prepare stack and reset memory accesses to avoid an exception jitter.vm.add_memory_page(0x10000, PAGE_READ|PAGE_WRITE, b"\x00"*0x1000, "stack") diff --git a/test/jitter/vm_mngr.py b/test/jitter/vm_mngr.py index 0fec1734..404d20fe 100644 --- a/test/jitter/vm_mngr.py +++ b/test/jitter/vm_mngr.py @@ -1,8 +1,10 @@ import sys from miasm.jitter.csts import PAGE_READ, PAGE_WRITE from miasm.analysis.machine import Machine +from miasm.core.locationdb import LocationDB -myjit = Machine("x86_32").jitter(sys.argv[1]) +loc_db = LocationDB() +myjit = Machine("x86_32").jitter(loc_db, sys.argv[1]) base_addr = 0x13371337 page_size = 0x1000 |