miasm
Reverse engineering framework
sem Namespace Reference

Classes

class  TestARMSemantic
 
class  TestMSP430Semantic
 
class  TestPPC32Semantic
 
class  TestX86Semantic
 

Functions

def M (addr)
 
def compute (asm, inputstate={}, debug=False)
 
def symb_exec (lbl, ir_arch, ircfg, inputstate, debug)
 
def compute (ir, mode, asm, inputstate={}, debug=False)
 
def compute_txt (ir, mode, txt, inputstate={}, debug=False)
 
def int_vec_op (op, elt_size, reg_size, arg1, arg2)
 

Variables

 loc_db = LocationDB()
 
 EXCLUDE_REGS = set([ir_arch(loc_db).IRDst])
 
 testsuite = unittest.TestLoader().loadTestsFromTestCase(TestARMSemantic)
 
 report = unittest.TextTestRunner(verbosity=2).run(testsuite)
 
int m32 = 32
 
int m64 = 64
 
 op_add = lambda a, b: a+b
 
 op_sub = lambda a, b: a-b
 
 op_mul = lambda a, b: a*b
 
 op_div = lambda a, b: a //b
 
 op_and = lambda a, b: a&b
 
 op_or = lambda a, b: a|b
 
 op_xor = lambda a, b: a^b
 
int MMX_V0 = 0x0001020304050607
 
int MMX_V1 = 0x0101010101010101
 
 MMX_A = ExprId('A', 64)
 
 MMX_B = ExprId('B', 64)
 
int SSE_V0 = 0x00010203040506070001020304050607
 
int SSE_V1 = 0x01010101010101010101010101010101
 
 SSE_A = ExprId('A', 128)
 
 SSE_B = ExprId('B', 128)
 

Function Documentation

◆ compute() [1/2]

def sem.compute (   asm,
  inputstate = {},
  debug = False 
)
Here is the caller graph for this function:

◆ compute() [2/2]

def sem.compute (   ir,
  mode,
  asm,
  inputstate = {},
  debug = False 
)
Here is the call graph for this function:

◆ compute_txt()

def sem.compute_txt (   ir,
  mode,
  txt,
  inputstate = {},
  debug = False 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ int_vec_op()

def sem.int_vec_op (   op,
  elt_size,
  reg_size,
  arg1,
  arg2 
)
Here is the caller graph for this function:

◆ M()

def sem.M (   addr)
Here is the caller graph for this function:

◆ symb_exec()

def sem.symb_exec (   lbl,
  ir_arch,
  ircfg,
  inputstate,
  debug 
)
Here is the caller graph for this function:

Variable Documentation

◆ EXCLUDE_REGS

sem.EXCLUDE_REGS = set([ir_arch(loc_db).IRDst])

◆ loc_db

sem.loc_db = LocationDB()

◆ m32

int sem.m32 = 32

◆ m64

int sem.m64 = 64

◆ MMX_A

sem.MMX_A = ExprId('A', 64)

◆ MMX_B

sem.MMX_B = ExprId('B', 64)

◆ MMX_V0

int sem.MMX_V0 = 0x0001020304050607

◆ MMX_V1

int sem.MMX_V1 = 0x0101010101010101

◆ op_add

sem.op_add = lambda a, b: a+b

◆ op_and

sem.op_and = lambda a, b: a&b

◆ op_div

sem.op_div = lambda a, b: a //b

◆ op_mul

sem.op_mul = lambda a, b: a*b

◆ op_or

sem.op_or = lambda a, b: a|b

◆ op_sub

sem.op_sub = lambda a, b: a-b

◆ op_xor

sem.op_xor = lambda a, b: a^b

◆ report

sem.report = unittest.TextTestRunner(verbosity=2).run(testsuite)

◆ SSE_A

sem.SSE_A = ExprId('A', 128)

◆ SSE_B

sem.SSE_B = ExprId('B', 128)

◆ SSE_V0

int sem.SSE_V0 = 0x00010203040506070001020304050607

◆ SSE_V1

int sem.SSE_V1 = 0x01010101010101010101010101010101

◆ testsuite

sem.testsuite = unittest.TestLoader().loadTestsFromTestCase(TestARMSemantic)