From eeebcc5a449c0fce4ce7b96172a90b840ba08223 Mon Sep 17 00:00:00 2001 From: mothran Date: Mon, 28 Sep 2015 21:41:38 -0700 Subject: [PATCH] added bad_ram regress --- tests/regress/bad_ram.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/regress/bad_ram.py diff --git a/tests/regress/bad_ram.py b/tests/regress/bad_ram.py new file mode 100644 index 00000000..0fc7d0bb --- /dev/null +++ b/tests/regress/bad_ram.py @@ -0,0 +1,30 @@ +#!/usr/bin/python + +from unicorn import * +from unicorn.x86_const import * + +import regress + + +class Hang(regress.RegressTest): + + def runTest(self): + CODE_ADDR = 0x400000 + RSP_ADDR = 0x200000 + binary1 = "\xCA\x24\x5D" # retf 0x5d24 + mu = Uc(UC_ARCH_X86, UC_MODE_64) + + mu.mem_map(CODE_ADDR, 0x5000) + mu.mem_map(RSP_ADDR, 0x5000) + + # write machine code to be emulated to memory + mu.mem_write(CODE_ADDR, binary1) + + mu.reg_write(UC_X86_REG_RSP, RSP_ADDR) + + # emu for maximum 1 sec. + mu.emu_start(CODE_ADDR, 0x400000 + 0x5000, 0) + + +if __name__ == '__main__': + regress.main()