Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.22 KB | None | 0 0
  1. #!/usr/bin/env python2
  2. ## -*- coding: utf-8 -*-
  3. ##
  4. ## Output:
  5. ##
  6. ##  r14:64 bv[63..0] = (r14v ^ r15v)
  7. ##  cf:1 bv[0..0] = 0x0
  8. ##  of:1 bv[0..0] = 0x0
  9. ##  pf:1 bv[0..0] = ((((((((0x1 ^ ((((r14v ^ r15v) & 0xFF) >> 0x0) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x1) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x2) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x3) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x4) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x5) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x6) & 0x1)) ^ ((((r14v ^ r15v) & 0xFF) >> 0x7) & 0x1))
  10. ##  sf:1 bv[0..0] = (((r14v ^ r15v) >> 63) & 0x1)
  11. ##  zf:1 bv[0..0] = (0x1 if ((r14v ^ r15v) == 0x0) else 0x0)
  12. ##  rip:64 bv[63..0] = 0x3
  13. ##
  14.  
  15. from __future__ import print_function
  16. from triton     import *
  17.  
  18.  
  19. ctx = TritonContext()
  20. ctx.setArchitecture(ARCH.X86_64)
  21.  
  22. ctx.setAstRepresentationMode(AST_REPRESENTATION.PYTHON)
  23.  
  24. r14v = ctx.convertRegisterToSymbolicVariable(ctx.registers.r14)
  25. r14v.setAlias("r14v")
  26.  
  27. r15v = ctx.convertRegisterToSymbolicVariable(ctx.registers.r15)
  28. r15v.setAlias("r15v")
  29.  
  30.  
  31. inst = Instruction("\x4d\x31\xfe")
  32. ctx.processing(inst)
  33.  
  34. ast = ctx.getAstContext()
  35. for se in inst.getSymbolicExpressions():
  36.     print("%s = %s" %(se.getOrigin(), ast.unrollAst(se.getAst())))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement