miasm
Reverse engineering framework
miasm.arch.x86.sem.ir_x86_16 Class Reference
Inheritance diagram for miasm.arch.x86.sem.ir_x86_16:
Collaboration diagram for miasm.arch.x86.sem.ir_x86_16:

Public Member Functions

def __init__ (self, loc_db)
 
def mod_pc (self, instr, instr_ir, extra_ir)
 
def ExprMem (self, ptr, size)
 
def gen_segm_expr (self, selector, addr)
 
def get_ir (self, instr)
 
def expr_fix_regs_for_mode (self, e, mode=64)
 
def expraff_fix_regs_for_mode (self, e, mode=64)
 
def irbloc_fix_regs_for_mode (self, irblock, mode=64)
 
- Public Member Functions inherited from miasm.ir.ir.IntermediateRepresentation
def __init__ (self, arch, attrib, loc_db)
 
def new_ircfg (self, *args, **kwargs)
 
def new_ircfg_from_asmcfg (self, asmcfg, *args, **kwargs)
 
def instr2ir (self, instr)
 
def add_instr_to_ircfg (self, instr, ircfg, loc_key=None, gen_pc_updt=False)
 
def gen_pc_update (self, assignments, instr)
 
def add_instr_to_current_state (self, instr, block, assignments, ir_blocks_all, gen_pc_updt)
 
def add_asmblock_to_ircfg (self, block, ircfg, gen_pc_updt=False)
 
def add_block (self, block, gen_pc_updt=False)
 
def add_bloc (self, block, gen_pc_updt=False)
 
def get_next_loc_key (self, instr)
 
def get_loc_key_for_instr (self, instr)
 
def gen_loc_key_and_expr (self, size)
 
def expr_fix_regs_for_mode (self, expr, *args, **kwargs)
 
def expraff_fix_regs_for_mode (self, expr, *args, **kwargs)
 
def irbloc_fix_regs_for_mode (self, irblock, *args, **kwargs)
 
def is_pc_written (self, block)
 
def set_empty_dst_to_next (self, block, ir_blocks)
 
def post_add_asmblock_to_ircfg (self, block, ircfg, ir_blocks)
 

Public Attributes

 do_stk_segm
 
 do_ds_segm
 
 do_str_segm
 
 do_all_segm
 
 pc
 
 sp
 
 IRDst
 
 addrsize
 
- Public Attributes inherited from miasm.ir.ir.IntermediateRepresentation
 pc
 
 sp
 
 arch
 
 attrib
 
 loc_db
 
 IRDst
 

Constructor & Destructor Documentation

◆ __init__()

def miasm.arch.x86.sem.ir_x86_16.__init__ (   self,
  loc_db 
)

Member Function Documentation

◆ expr_fix_regs_for_mode()

def miasm.arch.x86.sem.ir_x86_16.expr_fix_regs_for_mode (   self,
  e,
  mode = 64 
)
Here is the caller graph for this function:

◆ expraff_fix_regs_for_mode()

def miasm.arch.x86.sem.ir_x86_16.expraff_fix_regs_for_mode (   self,
  e,
  mode = 64 
)
Here is the call graph for this function:

◆ ExprMem()

def miasm.arch.x86.sem.ir_x86_16.ExprMem (   self,
  ptr,
  size 
)
Generate a memory access to @ptr
The ptr is resized to a fixed size self.addrsize

@ptr: Expr instance to the memory address
@size: size of the memory
Here is the caller graph for this function:

◆ gen_segm_expr()

def miasm.arch.x86.sem.ir_x86_16.gen_segm_expr (   self,
  selector,
  addr 
)

◆ get_ir()

def miasm.arch.x86.sem.ir_x86_16.get_ir (   self,
  instr 
)

Reimplemented from miasm.ir.ir.IntermediateRepresentation.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ irbloc_fix_regs_for_mode()

def miasm.arch.x86.sem.ir_x86_16.irbloc_fix_regs_for_mode (   self,
  irblock,
  mode = 64 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mod_pc()

def miasm.arch.x86.sem.ir_x86_16.mod_pc (   self,
  instr,
  instr_ir,
  extra_ir 
)

Reimplemented in miasm.arch.x86.sem.ir_x86_64.

Here is the caller graph for this function:

Member Data Documentation

◆ addrsize

miasm.arch.x86.sem.ir_x86_16.addrsize

◆ do_all_segm

miasm.arch.x86.sem.ir_x86_16.do_all_segm

◆ do_ds_segm

miasm.arch.x86.sem.ir_x86_16.do_ds_segm

◆ do_stk_segm

miasm.arch.x86.sem.ir_x86_16.do_stk_segm

◆ do_str_segm

miasm.arch.x86.sem.ir_x86_16.do_str_segm

◆ IRDst

miasm.arch.x86.sem.ir_x86_16.IRDst

◆ pc

miasm.arch.x86.sem.ir_x86_16.pc

◆ sp

miasm.arch.x86.sem.ir_x86_16.sp

The documentation for this class was generated from the following file: