diff options
Diffstat (limited to '')
| -rw-r--r-- | test/jitter/bad_block.py | 7 | ||||
| -rw-r--r-- | test/jitter/jit_options.py | 15 | ||||
| -rw-r--r-- | test/jitter/jitload.py | 11 | ||||
| -rw-r--r-- | test/jitter/jmp_out_mem.py | 7 | ||||
| -rw-r--r-- | test/jitter/test_post_instr.py | 18 | ||||
| -rw-r--r-- | test/jitter/vm_mngr.py | 6 |
6 files changed, 37 insertions, 27 deletions
diff --git a/test/jitter/bad_block.py b/test/jitter/bad_block.py index ae11e696..256d2388 100644 --- a/test/jitter/bad_block.py +++ b/test/jitter/bad_block.py @@ -1,6 +1,7 @@ import sys -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_UNK_MNEMO -from miasm2.analysis.machine import Machine +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 def code_sentinelle(jitter): jitter.run = False @@ -15,7 +16,7 @@ jitter.init_stack() # nop # mov eax, 0x42 # XX -data = "90b842000000ffff90909090".decode('hex') +data = decode_hex("90b842000000ffff90909090") # Will raise memory error at 0x40000006 diff --git a/test/jitter/jit_options.py b/test/jitter/jit_options.py index a0ddbc11..74808330 100644 --- a/test/jitter/jit_options.py +++ b/test/jitter/jit_options.py @@ -1,7 +1,10 @@ +from __future__ import print_function import os import sys -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE -from miasm2.analysis.machine import Machine + +from miasm.core.utils import decode_hex +from miasm.jitter.csts import PAGE_READ, PAGE_WRITE +from miasm.analysis.machine import Machine from pdb import pm # Shellcode @@ -16,7 +19,7 @@ from pdb import pm # RET -data = "b810000000bb0100000083e8010f44cb75f8c3".decode("hex") +data = decode_hex("b810000000bb0100000083e8010f44cb75f8c3") run_addr = 0x40000000 def code_sentinelle(jitter): @@ -40,7 +43,7 @@ def init_jitter(): return myjit # Test 'max_exec_per_call' -print "[+] First run, to jit blocks" +print("[+] First run, to jit blocks") myjit = init_jitter() myjit.init_run(run_addr) myjit.continue_run() @@ -62,7 +65,7 @@ def cb(jitter): return False ## Second run -print "[+] Second run" +print("[+] Second run") myjit.push_uint32_t(0x1337beef) myjit.cpu.EAX = 0 myjit.init_run(run_addr) @@ -74,7 +77,7 @@ assert myjit.run is True assert myjit.cpu.EAX >= 0xA # Test 'jit_maxline' -print "[+] Run instr one by one" +print("[+] Run instr one by one") myjit = init_jitter() myjit.jit.options["jit_maxline"] = 1 myjit.jit.options["max_exec_per_call"] = 1 diff --git a/test/jitter/jitload.py b/test/jitter/jitload.py index 1a56099f..8b758a89 100644 --- a/test/jitter/jitload.py +++ b/test/jitter/jitload.py @@ -1,12 +1,13 @@ import sys from pdb import pm -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE -from miasm2.analysis.machine import Machine -from miasm2.expression.expression import ExprId, ExprAssign, ExprInt, ExprMem +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 # Initial data: from 'example/samples/x86_32_sc.bin' -data = "8d49048d5b0180f90174058d5bffeb038d5b0189d8c3".decode("hex") +data = decode_hex("8d49048d5b0180f90174058d5bffeb038d5b0189d8c3") # Init jitter myjit = Machine("x86_32").jitter(sys.argv[1]) @@ -46,4 +47,4 @@ assert myjit.eval_expr(eax) == imm4 ## Changes must be passed on myjit.cpu instance assert myjit.cpu.EAX == 4 ## Memory -assert myjit.eval_expr(memdata).arg.arg == int(data[::-1].encode("hex"), 16) +assert myjit.eval_expr(memdata).arg.arg == int(encode_hex(data[::-1]), 16) diff --git a/test/jitter/jmp_out_mem.py b/test/jitter/jmp_out_mem.py index 93ae8304..2b064f73 100644 --- a/test/jitter/jmp_out_mem.py +++ b/test/jitter/jmp_out_mem.py @@ -1,6 +1,7 @@ import sys -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_ACCESS_VIOL -from miasm2.analysis.machine import Machine +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 def code_sentinelle(jitter): jitter.run = False @@ -17,7 +18,7 @@ jitter.init_stack() # mov eax, 0x42 # jmp 0x20 -data = "90b842000000eb20".decode('hex') +data = decode_hex("90b842000000eb20") # Will raise memory error at 0x40000028 diff --git a/test/jitter/test_post_instr.py b/test/jitter/test_post_instr.py index 0aff667e..52274a46 100644 --- a/test/jitter/test_post_instr.py +++ b/test/jitter/test_post_instr.py @@ -1,27 +1,31 @@ +from __future__ import print_function import sys -from miasm2.analysis.machine import Machine -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_BREAKPOINT_MEMORY, EXCEPT_ACCESS_VIOL + +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 machine = Machine("x86_32") jitter = machine.jitter(sys.argv[1]) # Prepare stack and reset memory accesses to avoid an exception -jitter.vm.add_memory_page(0x10000, PAGE_READ|PAGE_WRITE, "\x00"*0x1000, "stack") -print jitter.vm +jitter.vm.add_memory_page(0x10000, PAGE_READ|PAGE_WRITE, b"\x00"*0x1000, "stack") +print(jitter.vm) jitter.cpu.ESP = 0x10000 + 0x1000 jitter.push_uint32_t(0x0) jitter.push_uint32_t(0x1337beef) jitter.vm.reset_memory_access() -print hex(jitter.vm.get_exception()) +print(hex(jitter.vm.get_exception())) # Add code, and keep memory write pending -jitter.vm.add_memory_page(0x1000, PAGE_READ|PAGE_WRITE, "\x00"*0x1000, "code page") +jitter.vm.add_memory_page(0x1000, PAGE_READ|PAGE_WRITE, b"\x00"*0x1000, "code page") # MOV EAX, 0x11223344 # RET -jitter.vm.set_mem(0x1000, "B844332211C3".decode('hex')) +jitter.vm.set_mem(0x1000, decode_hex("B844332211C3")) jitter.set_trace_log() diff --git a/test/jitter/vm_mngr.py b/test/jitter/vm_mngr.py index 87bc6f8f..468fb347 100644 --- a/test/jitter/vm_mngr.py +++ b/test/jitter/vm_mngr.py @@ -1,12 +1,12 @@ import sys -from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE -from miasm2.analysis.machine import Machine +from miasm.jitter.csts import PAGE_READ, PAGE_WRITE +from miasm.analysis.machine import Machine myjit = Machine("x86_32").jitter(sys.argv[1]) base_addr = 0x13371337 page_size = 0x1000 -data = "\x00" * page_size +data = b"\x00" * page_size rights = [0, PAGE_READ, PAGE_WRITE, PAGE_READ|PAGE_WRITE] shuffled_rights = [PAGE_READ, 0, PAGE_READ|PAGE_WRITE, PAGE_WRITE] |