python: handle UC_ERR_TIMEOUT, so sample_x86.py behaves like sample_x86.c

This commit is contained in:
Nguyen Anh Quynh
2020-01-01 10:11:16 +08:00
parent fc8a42aeb8
commit 810bd34eef

View File

@ -383,9 +383,16 @@ def test_i386_loop():
print(">>> ECX = 0x%x" %r_ecx)
print(">>> EDX = 0x%x" %r_edx)
except UcError as e:
print("ERROR: %s" % e)
# timeout is acceptable in this case
if e.errno == UC_ERR_TIMEOUT:
print(">>> Emulation done. Below is the CPU context")
r_ecx = mu.reg_read(UC_X86_REG_ECX)
r_edx = mu.reg_read(UC_X86_REG_EDX)
print(">>> ECX = 0x%x" %r_ecx)
print(">>> EDX = 0x%x" %r_edx)
else:
print("ERROR: %s" % e)
# Test X86 32 bit with IN/OUT instruction
def test_i386_inout():