diff options
Diffstat (limited to 'example')
| -rwxr-xr-x | example/emulx86_bin.py | 4 | ||||
| -rw-r--r-- | example/sandbox_elf.py | 1 | ||||
| -rw-r--r-- | example/sandbox_pe.py | 2 |
3 files changed, 7 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: diff --git a/example/sandbox_elf.py b/example/sandbox_elf.py index 7550cb20..f8e308e2 100644 --- a/example/sandbox_elf.py +++ b/example/sandbox_elf.py @@ -96,6 +96,7 @@ def run_bin(my_eip, known_blocs, code_blocs_mem_range): last_blocs.pop(0) last_blocs.append(my_eip) 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: diff --git a/example/sandbox_pe.py b/example/sandbox_pe.py index 4c1e9b17..75e9b306 100644 --- a/example/sandbox_pe.py +++ b/example/sandbox_pe.py @@ -106,6 +106,8 @@ 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: |