本文整理汇总了Python中triton.TritonContext.setConcreteSymbolicVariableValue方法的典型用法代码示例。如果您正苦于以下问题:Python TritonContext.setConcreteSymbolicVariableValue方法的具体用法?Python TritonContext.setConcreteSymbolicVariableValue怎么用?Python TritonContext.setConcreteSymbolicVariableValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类triton.TritonContext
的用法示例。
在下文中一共展示了TritonContext.setConcreteSymbolicVariableValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestAstConversion
# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import setConcreteSymbolicVariableValue [as 别名]
class TestAstConversion(unittest.TestCase):
"""Testing the AST conversion Triton <-> z3."""
def setUp(self):
"""Define the arch."""
self.Triton = TritonContext()
self.Triton.setArchitecture(ARCH.X86_64)
self.astCtxt = self.Triton.getAstContext()
self.sv1 = self.Triton.newSymbolicVariable(8)
self.sv2 = self.Triton.newSymbolicVariable(8)
self.v1 = self.astCtxt.variable(self.sv1)
self.v2 = self.astCtxt.variable(self.sv2)
self.Triton.setConcreteSymbolicVariableValue(self.sv1, 0xaa)
self.Triton.setConcreteSymbolicVariableValue(self.sv2, 0x55)
self.node = [
# Overloaded operators
(self.v1 & self.v2),
(self.v1 + self.v2),
(self.v1 - self.v2),
(self.v1 ^ self.v2),
(self.v1 | self.v2),
(self.v1 * self.v2),
(self.v1 << self.v2),
(self.v1 >> self.v2),
(~self.v1),
(-self.v1),
(self.v1 == self.v2),
(self.v1 != self.v2),
(self.v1 <= self.v2),
(self.v1 >= self.v2),
(self.v1 < self.v2),
(self.v1 > self.v2),
# AST API
self.astCtxt.bvashr(self.v1, self.v2),
self.astCtxt.bvnand(self.v1, self.v2),
self.astCtxt.bvnor(self.v1, self.v2),
self.astCtxt.bvrol(3, self.v1),
self.astCtxt.bvror(2, self.v2),
self.astCtxt.distinct(self.v1, self.v2),
self.astCtxt.equal(self.v1, self.v2),
self.astCtxt.sx(8, self.v1),
self.astCtxt.zx(8, self.v1),
# recent z3 version
#bvsdiv(self.v1, self.v2),
#bvsmod(self.v1, self.v2),
#bvsrem(self.v1, self.v2),
#bvudiv(self.v1, self.v2),
#bvurem(self.v1, self.v2),
]
def test_conversion(self):
# No simplification available
# This only going to test Triton <-> z3 AST conversions.
for n in self.node:
self.assertEqual(n.evaluate(), self.Triton.simplify(n, True).evaluate())