本文整理汇总了Python中triton.TritonContext.getParentRegisters方法的典型用法代码示例。如果您正苦于以下问题:Python TritonContext.getParentRegisters方法的具体用法?Python TritonContext.getParentRegisters怎么用?Python TritonContext.getParentRegisters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类triton.TritonContext
的用法示例。
在下文中一共展示了TritonContext.getParentRegisters方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestX8664ConcreteRegisterValue
# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import getParentRegisters [as 别名]
class TestX8664ConcreteRegisterValue(unittest.TestCase):
"""Testing the X86_64 concrete value api."""
def setUp(self):
"""Define the arch."""
self.Triton = TritonContext()
self.Triton.setArchitecture(ARCH.X86_64)
self.ar = self.Triton.getAllRegisters()
self.pr = self.Triton.getParentRegisters()
def test_all_registers(self):
"""Check all registers"""
self.assertEqual(len(self.ar), 199)
def test_parent_registers(self):
"""Check parent registers"""
self.assertEqual(len(self.pr), 145)
def test_set_get_concrete_value(self):
"""Check setting concrete values"""
for r in self.pr:
if r.getBitSize() == 32:
self.Triton.setConcreteRegisterValue(r, 0xdeadbeaf)
elif r.getBitSize() == 64:
self.Triton.setConcreteRegisterValue(r, 0xabcdef0123456789)
elif r.getBitSize() == 128:
self.Triton.setConcreteRegisterValue(r, 0xabcdef01234567899876543210fedcba)
elif r.getBitSize() == 256:
self.Triton.setConcreteRegisterValue(r, 0xabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcba)
elif r.getBitSize() == 512:
self.Triton.setConcreteRegisterValue(r, 0xabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcba)
else:
pass
"""Check getting concrete values"""
for r in self.pr:
if r.getBitSize() == 32:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0xdeadbeaf)
elif r.getBitSize() == 64:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0xabcdef0123456789)
elif r.getBitSize() == 128:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0xabcdef01234567899876543210fedcba)
elif r.getBitSize() == 256:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0xabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcba)
elif r.getBitSize() == 512:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0xabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcbaabcdef01234567899876543210fedcba)
else:
pass
"""Set everything to zero"""
for r in self.ar:
self.Triton.setConcreteRegisterValue(r, 0)
"""Check if everything is equal to zero"""
for r in self.ar:
self.assertEqual(self.Triton.getConcreteRegisterValue(r), 0)