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


Python TritonContext.isMemoryTainted方法代码示例

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


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

示例1: test_taint_union_register_memory

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_union_register_memory(self):
        """Check tainting union register U memory."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))
        Triton.taintRegister(Triton.registers.rax)
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintUnionRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.untaintRegister(Triton.registers.rax)
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintUnionRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 4))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        # !T U T
        Triton.untaintRegister(Triton.registers.rax)
        Triton.taintMemory(MemoryAccess(0x2000, 4))
        Triton.taintUnionRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        # T U T
        Triton.taintRegister(Triton.registers.rax)
        Triton.taintMemory(MemoryAccess(0x2000, 4))
        Triton.taintUnionRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
开发者ID:ispras,项目名称:Triton,代码行数:35,代码来源:test_taint.py

示例2: test_taint_set_memory

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_set_memory(self):
        """Set taint memory"""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        self.assertFalse(Triton.isMemoryTainted(0x1000))
        Triton.setTaintMemory(MemoryAccess(0x1000, 1), True)
        self.assertTrue(Triton.isMemoryTainted(0x1000))
        Triton.setTaintMemory(MemoryAccess(0x1000, 1), False)
        self.assertFalse(Triton.isMemoryTainted(0x1000))
开发者ID:ispras,项目名称:Triton,代码行数:12,代码来源:test_taint.py

示例3: test_taint_union_memory_immediate

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_union_memory_immediate(self):
        """Check tainting union memory U immediate."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        Triton.taintMemory(MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.taintUnionMemoryImmediate(MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.untaintMemory(MemoryAccess(0x2000, 4))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
开发者ID:ispras,项目名称:Triton,代码行数:15,代码来源:test_taint.py

示例4: test_taint_assignement_memory_memory

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_assignement_memory_memory(self):
        """Check tainting assignment memory <- memory."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        Triton.taintMemory(MemoryAccess(0x2000, 1))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))

        Triton.taintAssignmentMemoryMemory(MemoryAccess(0x1000, 1), MemoryAccess(0x2000, 1))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x1000, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))

        Triton.taintAssignmentMemoryMemory(MemoryAccess(0x1000, 1), MemoryAccess(0x3000, 1))
        Triton.taintAssignmentMemoryMemory(MemoryAccess(0x2000, 1), MemoryAccess(0x3000, 1))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x1000, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))

        Triton.taintMemory(MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.taintAssignmentMemoryMemory(MemoryAccess(0x2001, 2), MemoryAccess(0x3000, 1))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
开发者ID:ispras,项目名称:Triton,代码行数:27,代码来源:test_taint.py

示例5: test_taint_union_memory_register

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_union_memory_register(self):
        """Check tainting union memory U register."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        Triton.taintMemory(MemoryAccess(0x2000, 4))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.taintUnionMemoryRegister(MemoryAccess(0x2000, 4), Triton.registers.rax)
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.untaintMemory(MemoryAccess(0x2000, 4))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintUnionMemoryRegister(MemoryAccess(0x2000, 4), Triton.registers.rax)
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintRegister(Triton.registers.rax)
        Triton.taintUnionMemoryRegister(MemoryAccess(0x2000, 4), Triton.registers.rax)
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))
开发者ID:ispras,项目名称:Triton,代码行数:26,代码来源:test_taint.py

示例6: test_taint_assignement_register_memory

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_assignement_register_memory(self):
        """Check tainting assignment register <- memory."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))
        Triton.taintRegister(Triton.registers.rax)
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintAssignmentRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 8))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintMemory(MemoryAccess(0x2000, 8))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 8)))

        Triton.taintAssignmentRegisterMemory(Triton.registers.rax, MemoryAccess(0x2000, 8))
        self.assertTrue(Triton.isRegisterTainted(Triton.registers.rax))

        Triton.taintAssignmentRegisterMemory(Triton.registers.rax, MemoryAccess(0x3000, 8))
        self.assertFalse(Triton.isRegisterTainted(Triton.registers.rax))
开发者ID:ispras,项目名称:Triton,代码行数:22,代码来源:test_taint.py

示例7: test_taint_assignement_memory_immediate

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_assignement_memory_immediate(self):
        """Check tainting assignment memory <- immediate."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        Triton.taintMemory(0x1000)
        self.assertTrue(Triton.isMemoryTainted(0x1000))

        Triton.taintAssignmentMemoryImmediate(MemoryAccess(0x1000, 1))
        self.assertFalse(Triton.isMemoryTainted(0x1000))

        Triton.taintMemory(0x1000)
        self.assertTrue(Triton.isMemoryTainted(0x1000))

        Triton.taintAssignmentMemoryImmediate(MemoryAccess(0x0fff, 2))
        self.assertFalse(Triton.isMemoryTainted(0x1000))

        Triton.taintMemory(0x1000)
        self.assertTrue(Triton.isMemoryTainted(0x1000))

        Triton.taintAssignmentMemoryImmediate(MemoryAccess(0x0ffe, 2))
        self.assertTrue(Triton.isMemoryTainted(0x1000))

        Triton.taintMemory(MemoryAccess(0x1000, 4))
        self.assertTrue(Triton.isMemoryTainted(0x1000))
        self.assertTrue(Triton.isMemoryTainted(0x1001))
        self.assertTrue(Triton.isMemoryTainted(0x1002))
        self.assertTrue(Triton.isMemoryTainted(0x1003))
        self.assertFalse(Triton.isMemoryTainted(0x1004))

        Triton.taintAssignmentMemoryImmediate(MemoryAccess(0x1001, 1))
        self.assertTrue(Triton.isMemoryTainted(0x1000))
        self.assertFalse(Triton.isMemoryTainted(0x1001))
        self.assertTrue(Triton.isMemoryTainted(0x1002))
        self.assertTrue(Triton.isMemoryTainted(0x1003))

        Triton.taintAssignmentMemoryImmediate(MemoryAccess(0x1000, 4))
        self.assertFalse(Triton.isMemoryTainted(0x1000))
        self.assertFalse(Triton.isMemoryTainted(0x1001))
        self.assertFalse(Triton.isMemoryTainted(0x1002))
        self.assertFalse(Triton.isMemoryTainted(0x1003))
开发者ID:ispras,项目名称:Triton,代码行数:43,代码来源:test_taint.py

示例8: test_taint_through_pointers

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_through_pointers(self):
        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, False)

        ctx.taintRegister(ctx.registers.rax)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rax))

        inst = Instruction("\x48\x0F\xB6\x18") # movzx  rbx,BYTE PTR [rax]
        inst.setAddress(0)
        ctx.processing(inst)

        self.assertFalse(ctx.isRegisterTainted(ctx.registers.rbx))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintRegister(ctx.registers.rax)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rax))

        inst = Instruction("\x48\x0F\xB6\x18") # movzx  rbx,BYTE PTR [rax]
        inst.setAddress(0)
        ctx.processing(inst)

        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rbx))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintRegister(ctx.registers.rax)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rax))

        inst = Instruction("\x48\x89\x18") # mov [rax], rbx
        inst.setAddress(0x1000)
        ctx.processing(inst)

        self.assertFalse(ctx.isMemoryTainted(0))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintRegister(ctx.registers.rbx)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rbx))

        inst = Instruction("\x48\x89\x18") # mov [rax], rbx
        inst.setAddress(0x1000)
        ctx.processing(inst)

        self.assertTrue(ctx.isMemoryTainted(0))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintRegister(ctx.registers.rax)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rax))

        inst = Instruction("\x48\x31\x18") # xor [rax], rbx
        inst.setAddress(0x1000)
        ctx.processing(inst)

        self.assertFalse(ctx.isMemoryTainted(0))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintRegister(ctx.registers.rbx)
        self.assertTrue(ctx.isRegisterTainted(ctx.registers.rbx))

        inst = Instruction("\x48\x31\x18") # xor [rax], rbx
        inst.setAddress(0x1000)
        ctx.processing(inst)

        self.assertTrue(ctx.isMemoryTainted(0))

        ###########

        ctx = TritonContext()
        ctx.setArchitecture(ARCH.X86_64)
        ctx.enableMode(MODE.TAINT_THROUGH_POINTERS, True)

        ctx.taintMemory(0)
        inst = Instruction("\x48\x31\x18") # xor [rax], rbx
        inst.setAddress(0x1000)
        ctx.processing(inst)

#.........这里部分代码省略.........
开发者ID:ispras,项目名称:Triton,代码行数:103,代码来源:test_taint.py

示例9: test_taint_memory

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_memory(self):
        """Check tainting memory."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        self.assertFalse(Triton.isMemoryTainted(0x1000))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))

        Triton.taintMemory(0x1000)
        Triton.taintMemory(MemoryAccess(0x2000, 4))

        self.assertTrue(Triton.isMemoryTainted(0x1000))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 2)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2002, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2003, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2002, 2)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2003, 2)))

        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x1fff, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2004, 1)))
        self.assertFalse(Triton.isMemoryTainted(0x1001))
        self.assertFalse(Triton.isMemoryTainted(0x0fff))

        Triton.untaintMemory(0x1000)
        Triton.untaintMemory(MemoryAccess(0x2000, 4))

        self.assertFalse(Triton.isMemoryTainted(0x1000))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 4)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 2)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2002, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2003, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2002, 2)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2003, 2)))
开发者ID:ispras,项目名称:Triton,代码行数:40,代码来源:test_taint.py

示例10: test_taint_assignement_memory_register

# 需要导入模块: from triton import TritonContext [as 别名]
# 或者: from triton.TritonContext import isMemoryTainted [as 别名]
    def test_taint_assignement_memory_register(self):
        """Check tainting assignment memory <- register."""
        Triton = TritonContext()
        Triton.setArchitecture(ARCH.X86_64)

        Triton.taintMemory(MemoryAccess(0x2000, 8))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 8)))

        Triton.taintAssignmentMemoryRegister(MemoryAccess(0x2002, 2), Triton.registers.ax)
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2002, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2003, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2004, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2005, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2006, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2007, 1)))

        Triton.taintMemory(MemoryAccess(0x2000, 8))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2000, 8)))

        Triton.taintAssignmentMemoryRegister(MemoryAccess(0x1fff, 8), Triton.registers.rax)
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x1fff, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2000, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2001, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2002, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2003, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2004, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2005, 1)))
        self.assertFalse(Triton.isMemoryTainted(MemoryAccess(0x2006, 1)))
        self.assertTrue(Triton.isMemoryTainted(MemoryAccess(0x2007, 1)))
开发者ID:ispras,项目名称:Triton,代码行数:33,代码来源:test_taint.py


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