2015-08-24 00:01:58 +03:00
|
|
|
#!/usr/bin/python
|
|
|
|
# By Ryan Hileman, issue #16
|
|
|
|
|
|
|
|
from unicorn import *
|
|
|
|
from unicorn.arm_const import *
|
2015-09-17 23:45:15 +03:00
|
|
|
from unicorn.arm64_const import *
|
2015-08-24 04:50:55 +03:00
|
|
|
|
2015-09-17 23:45:15 +03:00
|
|
|
import regress
|
2015-08-24 04:50:55 +03:00
|
|
|
|
2015-09-17 23:45:15 +03:00
|
|
|
class WrongSPArm(regress.RegressTest):
|
|
|
|
|
|
|
|
def test_32(self):
|
|
|
|
with self.assertRaises(UcError):
|
|
|
|
uc = Uc(UC_ARCH_ARM, UC_MODE_32)
|
|
|
|
uc.reg_write(UC_ARM_REG_SP, 4)
|
|
|
|
|
|
|
|
def test_64(self):
|
|
|
|
uc = Uc(UC_ARCH_ARM64, UC_MODE_ARM)
|
|
|
|
uc.reg_write(UC_ARM64_REG_SP, 4)
|
|
|
|
self.assertEqual(0x4, uc.reg_read(UC_ARM64_REG_SP))
|
|
|
|
|
|
|
|
def test_arm(self):
|
|
|
|
uc = Uc(UC_ARCH_ARM, UC_MODE_ARM)
|
|
|
|
uc.reg_write(UC_ARM_REG_SP, 4)
|
|
|
|
self.assertEqual(0x4, uc.reg_read(UC_ARM_REG_SP))
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
regress.main()
|