本文整理汇总了Python中triton.TritonContext.buildSymbolicImmediate方法的典型用法代码示例。如果您正苦于以下问题:Python TritonContext.buildSymbolicImmediate方法的具体用法?Python TritonContext.buildSymbolicImmediate怎么用?Python TritonContext.buildSymbolicImmediate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类triton.TritonContext
的用法示例。
在下文中一共展示了TritonContext.buildSymbolicImmediate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestSymbolicBuilding
# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import buildSymbolicImmediate [as 别名]
class TestSymbolicBuilding(unittest.TestCase):
"""Testing symbolic building."""
def setUp(self):
"""Define the arch."""
self.Triton = TritonContext()
self.Triton.setArchitecture(ARCH.X86_64)
self.astCtxt = self.Triton.getAstContext()
def test_build_immediate(self):
"""Check symbolic immediate has correct size and evaluation."""
node = self.Triton.buildSymbolicImmediate(Immediate(0x10, CPUSIZE.BYTE))
self.assertEqual(node.evaluate(), 0x10)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.BYTE_BIT)
def test_build_register(self):
"""Check symbolic register has correct size and location."""
expr1 = self.Triton.newSymbolicExpression(self.astCtxt.bv(0x1122334455667788, CPUSIZE.QWORD_BIT))
self.Triton.assignSymbolicExpressionToRegister(expr1, self.Triton.registers.rax)
node = self.Triton.buildSymbolicRegister(self.Triton.registers.rax)
self.assertEqual(node.evaluate(), 0x1122334455667788)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.QWORD_BIT)
node = self.Triton.buildSymbolicRegister(self.Triton.registers.eax)
self.assertEqual(node.evaluate(), 0x55667788)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.DWORD_BIT)
node = self.Triton.buildSymbolicRegister(self.Triton.registers.ax)
self.assertEqual(node.evaluate(), 0x7788)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.WORD_BIT)
node = self.Triton.buildSymbolicRegister(self.Triton.registers.ah)
self.assertEqual(node.evaluate(), 0x77)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.BYTE_BIT)
node = self.Triton.buildSymbolicRegister(self.Triton.registers.al)
self.assertEqual(node.evaluate(), 0x88)
self.assertEqual(node.getBitvectorSize(), CPUSIZE.BYTE_BIT)