about summary refs log tree commit diff stats
path: root/example/emulx86_bin.py
diff options
context:
space:
mode:
authorserpilliere <devnull@localhost>2011-08-26 14:19:32 +0200
committerserpilliere <devnull@localhost>2011-08-26 14:19:32 +0200
commitb90343ca415119d9e997c01cc3335691eee1220f (patch)
tree4ce8a0f023be0e0a600391f74997b366040703b2 /example/emulx86_bin.py
parentbbd7e71ada55e23fe857a7c9954687ff987dec7c (diff)
downloadmiasm-b90343ca415119d9e997c01cc3335691eee1220f.tar.gz
miasm-b90343ca415119d9e997c01cc3335691eee1220f.zip
WORKAROUND exception while translating code
the disasm engine should not raise vm exception when translate code.
for the moment use vm_exception_reset after each update_bloc
Diffstat (limited to 'example/emulx86_bin.py')
-rwxr-xr-xexample/emulx86_bin.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/example/emulx86_bin.py b/example/emulx86_bin.py
index 151370b4..eab57408 100755
--- a/example/emulx86_bin.py
+++ b/example/emulx86_bin.py
@@ -13,6 +13,9 @@ import sys
 if len(sys.argv) <3:
     print 'usage:'
     print "%s rawfile address_to_exec"%sys.argv[0]
+    print 'exemple:'
+    print "%s x86_sc.bin 0"%sys.argv[0]
+
     sys.exit(0)
 data = open(sys.argv[1], 'rb').read()
 ad = sys.argv[2].lower()
@@ -58,6 +61,7 @@ def run_bin(my_eip, known_blocs, code_blocs_mem_range):
 
         if not my_eip in known_blocs:
             updt_bloc_emul(known_blocs, in_str, my_eip, symbol_pool, code_blocs_mem_range, log_regs = log_regs, log_mn = log_mn)
+            vm_reset_exception()
         try:
             my_eip = vm_exec_blocs(my_eip, known_blocs)
         except KeyboardInterrupt: