diff options
Diffstat (limited to 'example')
| -rw-r--r-- | example/test_jit_x86_32.py | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/example/test_jit_x86_32.py b/example/test_jit_x86_32.py index b26161bc..158c0685 100644 --- a/example/test_jit_x86_32.py +++ b/example/test_jit_x86_32.py @@ -1,6 +1,6 @@ import sys import os -from optparse import OptionParser +from argparse import ArgumentParser from miasm2.arch.x86.arch import mn_x86 from miasm2.jitter.jitload import jitter_x86_32 from miasm2.jitter.jitload import bin_stream_vm @@ -13,25 +13,22 @@ filename = os.environ.get('PYTHONSTARTUP') if filename and os.path.isfile(filename): execfile(filename) -parser = OptionParser(usage="usage: %prog rawfiley arch address [options]") -(options, args) = parser.parse_args(sys.argv[1:]) - -if len(args) < 1: - parser.print_help() - sys.exit(0) - +parser = ArgumentParser(description="x86 32 basic Jitter") +parser.add_argument("filename", help="x86 32 shellcode filename") +parser.add_argument("-j", "--jitter", + help="Jitter engine. Possible values are : tcc (default), llvm", + default="tcc") +args = parser.parse_args() def code_sentinelle(jitter): jitter.run = False jitter.pc = 0 return True - -myjit = jitter_x86_32() +myjit = jitter_x86_32(args.jitter) myjit.init_stack() -fname = args[0] -data = open(fname).read() +data = open(args.filename).read() run_addr = 0x40000000 myjit.vm.vm_add_memory_page(run_addr, PAGE_READ | PAGE_WRITE, data) |