miasm
Reverse engineering framework
|
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) | |
def sem.compute | ( | asm, | |
inputstate = {} , |
|||
debug = False |
|||
) |
def sem.compute | ( | ir, | |
mode, | |||
asm, | |||
inputstate = {} , |
|||
debug = False |
|||
) |
def sem.compute_txt | ( | ir, | |
mode, | |||
txt, | |||
inputstate = {} , |
|||
debug = False |
|||
) |
def sem.int_vec_op | ( | op, | |
elt_size, | |||
reg_size, | |||
arg1, | |||
arg2 | |||
) |
def sem.M | ( | addr | ) |
def sem.symb_exec | ( | lbl, | |
ir_arch, | |||
ircfg, | |||
inputstate, | |||
debug | |||
) |
sem.EXCLUDE_REGS = set([ir_arch(loc_db).IRDst]) |
sem.loc_db = LocationDB() |
int sem.m32 = 32 |
int sem.m64 = 64 |
sem.MMX_A = ExprId('A', 64) |
sem.MMX_B = ExprId('B', 64) |
int sem.MMX_V0 = 0x0001020304050607 |
int sem.MMX_V1 = 0x0101010101010101 |
sem.op_add = lambda a, b: a+b |
sem.op_and = lambda a, b: a&b |
sem.op_div = lambda a, b: a //b |
sem.op_mul = lambda a, b: a*b |
sem.op_or = lambda a, b: a|b |
sem.op_sub = lambda a, b: a-b |
sem.op_xor = lambda a, b: a^b |
sem.report = unittest.TextTestRunner(verbosity=2).run(testsuite) |
sem.SSE_A = ExprId('A', 128) |
sem.SSE_B = ExprId('B', 128) |
int sem.SSE_V0 = 0x00010203040506070001020304050607 |
int sem.SSE_V1 = 0x01010101010101010101010101010101 |
sem.testsuite = unittest.TestLoader().loadTestsFromTestCase(TestARMSemantic) |