def test_state(): s = SimState(arch='AMD64') s.registers.store('sp', 0x7ffffffffff0000) nose.tools.assert_equals(s.se.eval(s.registers.load('sp')), 0x7ffffffffff0000) s.stack_push(s.se.BVV("ABCDEFGH")) nose.tools.assert_equals(s.se.eval(s.registers.load('sp')), 0x7fffffffffefff8) s.stack_push(s.se.BVV("IJKLMNOP")) nose.tools.assert_equals(s.se.eval(s.registers.load('sp')), 0x7fffffffffefff0) a = s.stack_pop() nose.tools.assert_equals(s.se.eval(s.registers.load('sp')), 0x7fffffffffefff8) nose.tools.assert_equals(s.se.eval(a, cast_to=str), "IJKLMNOP") b = s.stack_pop() nose.tools.assert_equals(s.se.eval(s.registers.load('sp')), 0x7ffffffffff0000) nose.tools.assert_equals(s.se.eval(b, cast_to=str), "ABCDEFGH")
def test_state(self): s = SimState(arch="AMD64") s.registers.store("sp", 0x7FFFFFFFFFF0000) assert s.solver.eval(s.registers.load("sp")) == 0x7FFFFFFFFFF0000 s.stack_push(s.solver.BVV(b"ABCDEFGH")) assert s.solver.eval(s.registers.load("sp")) == 0x7FFFFFFFFFEFFF8 s.stack_push(s.solver.BVV(b"IJKLMNOP")) assert s.solver.eval(s.registers.load("sp")) == 0x7FFFFFFFFFEFFF0 a = s.stack_pop() assert s.solver.eval(s.registers.load("sp")) == 0x7FFFFFFFFFEFFF8 assert s.solver.eval(a, cast_to=bytes) == b"IJKLMNOP" b = s.stack_pop() assert s.solver.eval(s.registers.load("sp")) == 0x7FFFFFFFFFF0000 assert s.solver.eval(b, cast_to=bytes) == b"ABCDEFGH"