about summary refs log tree commit diff stats
path: root/example
diff options
context:
space:
mode:
authorajax <devnull@localhost>2014-06-14 20:25:27 +0200
committerajax <devnull@localhost>2014-06-14 20:25:27 +0200
commit3e7fc4547fc1bea2a983d317718d3e393afe7414 (patch)
tree62e7cacde95755d5282ee7d81011f830fd1320ab /example
parent3a36d6c8af4a02722d11a639cde8c77e3f0203f0 (diff)
downloadmiasm-3e7fc4547fc1bea2a983d317718d3e393afe7414.tar.gz
miasm-3e7fc4547fc1bea2a983d317718d3e393afe7414.zip
Example: Update Test Jit x86_32: OptParse -> ArgParse, "--jitter" argument
Diffstat (limited to 'example')
-rw-r--r--example/test_jit_x86_32.py21
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)