miasm
Reverse engineering framework
sem.py File Reference

Classes

class  miasm.arch.arm.sem.arminfo
 
class  miasm.arch.arm.sem.ir_arml
 
class  miasm.arch.arm.sem.ir_armb
 
class  miasm.arch.arm.sem.ir_armtl
 
class  miasm.arch.arm.sem.ir_armtb
 

Namespaces

 miasm.arch.arm.sem
 

Functions

def miasm.arch.arm.sem.update_flag_zf (a)
 
def miasm.arch.arm.sem.update_flag_zf_eq (a, b)
 
def miasm.arch.arm.sem.update_flag_nf (arg)
 
def miasm.arch.arm.sem.update_flag_zn (a)
 
def miasm.arch.arm.sem.check_ops_msb (a, b, c)
 
def miasm.arch.arm.sem.update_flag_add_cf (op1, op2)
 
def miasm.arch.arm.sem.update_flag_add_of (op1, op2)
 
def miasm.arch.arm.sem.update_flag_sub_cf (op1, op2)
 
def miasm.arch.arm.sem.update_flag_sub_of (op1, op2)
 
def miasm.arch.arm.sem.update_flag_arith_add_co (arg1, arg2)
 
def miasm.arch.arm.sem.update_flag_arith_add_zn (arg1, arg2)
 
def miasm.arch.arm.sem.update_flag_arith_sub_co (arg1, arg2)
 
def miasm.arch.arm.sem.update_flag_arith_sub_zn (arg1, arg2)
 
def miasm.arch.arm.sem.update_flag_zfaddwc_eq (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.update_flag_zfsubwc_eq (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.update_flag_arith_addwc_zn (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.update_flag_arith_subwc_zn (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.update_flag_addwc_cf (op1, op2, op3)
 
def miasm.arch.arm.sem.update_flag_addwc_of (op1, op2, op3)
 
def miasm.arch.arm.sem.update_flag_arith_addwc_co (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.update_flag_subwc_cf (op1, op2, op3)
 
def miasm.arch.arm.sem.update_flag_subwc_of (op1, op2, op3)
 
def miasm.arch.arm.sem.update_flag_arith_subwc_co (arg1, arg2, arg3)
 
def miasm.arch.arm.sem.get_dst (a)
 
def miasm.arch.arm.sem.adc (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.add (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.l_and (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.sub (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.subs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.eor (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.eors (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.rsb (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.rsbs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.sbc (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.sbcs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.rsc (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.rscs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.tst (ir, instr, a, b)
 
def miasm.arch.arm.sem.teq (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.l_cmp (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.cmn (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.orr (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.orn (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.orrs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.mov (ir, instr, a, b)
 
def miasm.arch.arm.sem.movt (ir, instr, a, b)
 
def miasm.arch.arm.sem.movs (ir, instr, a, b)
 
def miasm.arch.arm.sem.mvn (ir, instr, a, b)
 
def miasm.arch.arm.sem.mvns (ir, instr, a, b)
 
def miasm.arch.arm.sem.mrs (ir, instr, a, b)
 
def miasm.arch.arm.sem.msr (ir, instr, a, b)
 
def miasm.arch.arm.sem.neg (ir, instr, a, b)
 
def miasm.arch.arm.sem.negs (ir, instr, a, b)
 
def miasm.arch.arm.sem.bic (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.bics (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.sdiv (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.udiv (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.mla (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.mlas (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.mls (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.mul (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.muls (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.umull (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.umlal (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.smull (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.smlal (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.b (ir, instr, a)
 
def miasm.arch.arm.sem.bl (ir, instr, a)
 
def miasm.arch.arm.sem.bx (ir, instr, a)
 
def miasm.arch.arm.sem.blx (ir, instr, a)
 
def miasm.arch.arm.sem.st_ld_r (ir, instr, a, a2, b, store=False, size=32, s_ext=False, z_ext=False)
 
def miasm.arch.arm.sem.ldr (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldrd (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.l_str (ir, instr, a, b)
 
def miasm.arch.arm.sem.l_strd (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.ldrb (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldrsb (ir, instr, a, b)
 
def miasm.arch.arm.sem.strb (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldrh (ir, instr, a, b)
 
def miasm.arch.arm.sem.strh (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldrsh (ir, instr, a, b)
 
def miasm.arch.arm.sem.st_ld_m (ir, instr, a, b, store=False, postinc=False, updown=False)
 
def miasm.arch.arm.sem.ldmia (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldmib (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldmda (ir, instr, a, b)
 
def miasm.arch.arm.sem.ldmdb (ir, instr, a, b)
 
def miasm.arch.arm.sem.stmia (ir, instr, a, b)
 
def miasm.arch.arm.sem.stmib (ir, instr, a, b)
 
def miasm.arch.arm.sem.stmda (ir, instr, a, b)
 
def miasm.arch.arm.sem.stmdb (ir, instr, a, b)
 
def miasm.arch.arm.sem.svc (ir, instr, a)
 
def miasm.arch.arm.sem.und (ir, instr, a, b)
 
def miasm.arch.arm.sem.lsr (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.lsrs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.asr (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.asrs (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.lsl (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.lsls (ir, instr, a, b, c=None)
 
def miasm.arch.arm.sem.rors (ir, instr, a, b)
 
def miasm.arch.arm.sem.push (ir, instr, a)
 
def miasm.arch.arm.sem.pop (ir, instr, a)
 
def miasm.arch.arm.sem.cbz (ir, instr, a, b)
 
def miasm.arch.arm.sem.cbnz (ir, instr, a, b)
 
def miasm.arch.arm.sem.uxtb (ir, instr, a, b)
 
def miasm.arch.arm.sem.uxth (ir, instr, a, b)
 
def miasm.arch.arm.sem.sxtb (ir, instr, a, b)
 
def miasm.arch.arm.sem.sxth (ir, instr, a, b)
 
def miasm.arch.arm.sem.ubfx (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.bfc (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.pld (ir, instr, a)
 
def miasm.arch.arm.sem.pldw (ir, instr, a)
 
def miasm.arch.arm.sem.clz (ir, instr, a, b)
 
def miasm.arch.arm.sem.uxtab (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.uxtah (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.bkpt (ir, instr, a)
 
def miasm.arch.arm.sem.smul (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.smulw (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.tbb (ir, instr, a)
 
def miasm.arch.arm.sem.tbh (ir, instr, a)
 
def miasm.arch.arm.sem.smlabb (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.smlabt (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.smlatb (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.smlatt (ir, instr, a, b, c, d)
 
def miasm.arch.arm.sem.uadd8 (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.sel (ir, instr, a, b, c)
 
def miasm.arch.arm.sem.rev (ir, instr, a, b)
 
def miasm.arch.arm.sem.rev16 (ir, instr, a, b)
 
def miasm.arch.arm.sem.nop (ir, instr)
 
def miasm.arch.arm.sem.dsb (ir, instr, a)
 
def miasm.arch.arm.sem.isb (ir, instr, a)
 
def miasm.arch.arm.sem.cpsie (ir, instr, a)
 
def miasm.arch.arm.sem.cpsid (ir, instr, a)
 
def miasm.arch.arm.sem.wfe (ir, instr)
 
def miasm.arch.arm.sem.wfi (ir, instr)
 
def miasm.arch.arm.sem.adr (ir, instr, arg1, arg2)
 
def miasm.arch.arm.sem.pkhbt (ir, instr, arg1, arg2, arg3)
 
def miasm.arch.arm.sem.pkhtb (ir, instr, arg1, arg2, arg3)
 
def miasm.arch.arm.sem.mrc (ir, insr, arg1, arg2, arg3, arg4, arg5, arg6)
 
def miasm.arch.arm.sem.mcr (ir, insr, arg1, arg2, arg3, arg4, arg5, arg6)
 
def miasm.arch.arm.sem.is_pc_written (ir, instr_ir)
 
def miasm.arch.arm.sem.add_condition_expr (ir, instr, cond, instr_ir, extra_ir)
 
def miasm.arch.arm.sem.split_expr_dst (ir, instr_ir)
 
def miasm.arch.arm.sem.get_mnemo_expr (ir, instr, *args)
 

Variables

dictionary miasm.arch.arm.sem.coproc_reg_dict
 
tuple miasm.arch.arm.sem.EXCEPT_SOFT_BP = (1 << 1)
 
tuple miasm.arch.arm.sem.EXCEPT_PRIV_INSN = (1 << 17)
 
int miasm.arch.arm.sem.COND_EQ = 0
 
int miasm.arch.arm.sem.COND_NE = 1
 
int miasm.arch.arm.sem.COND_CS = 2
 
int miasm.arch.arm.sem.COND_CC = 3
 
int miasm.arch.arm.sem.COND_MI = 4
 
int miasm.arch.arm.sem.COND_PL = 5
 
int miasm.arch.arm.sem.COND_VS = 6
 
int miasm.arch.arm.sem.COND_VC = 7
 
int miasm.arch.arm.sem.COND_HI = 8
 
int miasm.arch.arm.sem.COND_LS = 9
 
int miasm.arch.arm.sem.COND_GE = 10
 
int miasm.arch.arm.sem.COND_LT = 11
 
int miasm.arch.arm.sem.COND_GT = 12
 
int miasm.arch.arm.sem.COND_LE = 13
 
int miasm.arch.arm.sem.COND_AL = 14
 
int miasm.arch.arm.sem.COND_NV = 15
 
dictionary miasm.arch.arm.sem.cond_dct
 
 miasm.arch.arm.sem.cond_dct_inv = dict((name, num) for num, name in viewitems(cond_dct))
 
dictionary miasm.arch.arm.sem.tab_cond
 
dictionary miasm.arch.arm.sem.mnemo_func = {}
 
dictionary miasm.arch.arm.sem.mnemo_func_cond = {}
 
dictionary miasm.arch.arm.sem.mnemo_condm0
 
dictionary miasm.arch.arm.sem.mnemo_condm1
 
dictionary miasm.arch.arm.sem.mnemo_condm2
 
dictionary miasm.arch.arm.sem.mnemo_nocond
 
list miasm.arch.arm.sem.mn_cond_x
 
string miasm.arch.arm.sem.cn = ""
 
string miasm.arch.arm.sem.mn_mod = mn + cn
 
def miasm.arch.arm.sem.get_arm_instr_expr = get_mnemo_expr