当前位置: 首页>>代码示例>>Python>>正文


Python TritonContext.convertMemoryToSymbolicVariable方法代码示例

本文整理汇总了Python中triton.TritonContext.convertMemoryToSymbolicVariable方法的典型用法代码示例。如果您正苦于以下问题:Python TritonContext.convertMemoryToSymbolicVariable方法的具体用法?Python TritonContext.convertMemoryToSymbolicVariable怎么用?Python TritonContext.convertMemoryToSymbolicVariable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在triton.TritonContext的用法示例。


在下文中一共展示了TritonContext.convertMemoryToSymbolicVariable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_5

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import convertMemoryToSymbolicVariable [as 别名]
    def test_5(self):
        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.ONLY_ON_SYMBOLIZED, True)
        ctx.convertMemoryToSymbolicVariable(MemoryAccess(0, CPUSIZE.QWORD))

        inst = Instruction("\x48\x8b\x18") # mov rbx, qword ptr [rax]
        self.assertTrue(ctx.processing(inst))
        self.assertTrue(checkAstIntegrity(inst))

        self.assertEqual(len(inst.getReadRegisters()), 0)
        self.assertEqual(len(inst.getWrittenRegisters()), 1)
        self.assertEqual(len(inst.getLoadAccess()), 1)
        self.assertEqual(len(inst.getStoreAccess()), 0)
开发者ID:AmesianX,项目名称:Triton,代码行数:16,代码来源:test_only_symbolized_mode.py

示例2: test_8

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import convertMemoryToSymbolicVariable [as 别名]
    def test_8(self):
        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.ONLY_ON_SYMBOLIZED, True)
        ctx.setConcreteRegisterValue(ctx.registers.rax, 0x1337)
        ctx.convertRegisterToSymbolicVariable(ctx.registers.rax)
        ctx.convertMemoryToSymbolicVariable(MemoryAccess(0, CPUSIZE.QWORD))

        inst = Instruction("\x48\x8b\x18") # mov rbx, qword ptr [rax]
        self.assertTrue(ctx.processing(inst))
        self.assertTrue(checkAstIntegrity(inst))

        self.assertEqual(inst.getOperands()[1].getAddress(), 0x1337)
        self.assertIsNotNone(inst.getOperands()[1].getLeaAst())
开发者ID:AmesianX,项目名称:Triton,代码行数:16,代码来源:test_only_symbolized_mode.py

示例3: loadBinary

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import convertMemoryToSymbolicVariable [as 别名]
    return


if __name__ == '__main__':
    # Define the target architecture
    Triton.setArchitecture(ARCH.X86_64)

    # Define symbolic optimizations
    Triton.enableMode(MODE.ALIGNED_MEMORY, True)
    Triton.enableMode(MODE.ONLY_ON_SYMBOLIZED, True)

    # Load the binary
    loadBinary(os.path.join(os.path.dirname(__file__), 'r100.bin'))

    # Define a fake stack
    Triton.setConcreteRegisterValue(Triton.registers.rbp, 0x7fffffff)
    Triton.setConcreteRegisterValue(Triton.registers.rsp, 0x6fffffff)

    # Define an user input
    Triton.setConcreteRegisterValue(Triton.registers.rdi, 0x10000000)

    # Symbolize user inputs (30 bytes)
    for index in range(30):
        Triton.convertMemoryToSymbolicVariable(MemoryAccess(0x10000000+index, CPUSIZE.BYTE))

    # Emulate from the verification function
    emulate(0x4006FD)

    sys.exit(0)

开发者ID:ispras,项目名称:Triton,代码行数:31,代码来源:solve.py


注:本文中的triton.TritonContext.convertMemoryToSymbolicVariable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。