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

Public Member Functions

def getpc (cls, attrib)
 
def getsp (cls, attrib)
 
def v_opmode (self)
 
def v_admode (self)
 
def additional_info (self)
 
def check_mnemo (cls, fields)
 
def getmn (cls, name)
 
def mod_fields (cls, fields)
 
def gen_modes (cls, subcls, name, bases, dct, fields)
 
def fromstring (cls, text, loc_db, mode)
 
def pre_dis (cls, v, mode, offset)
 
def get_cls_instance (cls, cc, mode, infos=None)
 
def post_dis (self)
 
def dup_info (self, infos)
 
def reset_class (self)
 
def add_pre_dis_info (self, pre_dis_info=None)
 
def post_asm (self, v)
 
def gen_prefix (self)
 
def encodefields (self, decoded)
 
def getnextflow (self, loc_db)
 
def ir_pre_instruction (self)
 
def filter_asm_candidates (cls, instr, candidates)
 
- Public Member Functions inherited from miasm.core.cpu.cls_mn
def guess_mnemo (cls, bs, attrib, pre_dis_info, offset)
 
def init_class (self)
 
def getbits (cls, bs, attrib, offset_b, l)
 
def getbytes (cls, bs, offset, l)
 
def dis (cls, bs_o, mode_o=None, offset=0)
 
def asm (cls, instr, loc_db=None)
 
def value (self, mode)
 
def decoded2bytes (self, result)
 
def gen_args (self, args)
 
def args2str (self)
 
def __str__ (self)
 
def parse_prefix (self, v)
 
def set_dst_symbol (self, loc_db)
 
def getdstflow (self, loc_db)
 
- Public Member Functions inherited from miasm.core.cpu.metamn
def __new__ (mcs, name, bases, dct)
 

Public Attributes

 opmode
 
 admode
 
 prefix
 
- Public Attributes inherited from miasm.core.cpu.cls_mn
 args
 
 fields_order
 
 to_decode
 
 args_symb
 

Static Public Attributes

string name = "x86"
 
bool prefix_op_size = False
 
bool prefix_ad_size = False
 
 regs = regs_module
 
list all_mn = []
 
 all_mn_mode = defaultdict(list)
 
 all_mn_name = defaultdict(list)
 
 all_mn_inst = defaultdict(list)
 
dictionary bintree = {}
 
int num = 0
 
int delayslot = 0
 
dictionary pc = {16: IP, 32: EIP, 64: RIP}
 
dictionary sp = {16: SP, 32: ESP, 64: RSP}
 
 instruction = instruction_x86
 
int max_instruction_len = 15
 
- Static Public Attributes inherited from miasm.core.cpu.cls_mn
list args_symb = []
 
 instruction = instruction
 
int alignment = 1
 

Member Function Documentation

◆ add_pre_dis_info()

def miasm.arch.x86.arch.mn_x86.add_pre_dis_info (   self,
  pre_dis_info = None 
)

Reimplemented from miasm.core.cpu.cls_mn.

◆ additional_info()

def miasm.arch.x86.arch.mn_x86.additional_info (   self)
Here is the call graph for this function:

◆ check_mnemo()

def miasm.arch.x86.arch.mn_x86.check_mnemo (   cls,
  fields 
)

Reimplemented from miasm.core.cpu.cls_mn.

◆ dup_info()

def miasm.arch.x86.arch.mn_x86.dup_info (   self,
  infos 
)

Reimplemented from miasm.core.cpu.cls_mn.

◆ encodefields()

def miasm.arch.x86.arch.mn_x86.encodefields (   self,
  decoded 
)

Reimplemented from miasm.core.cpu.cls_mn.

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

◆ filter_asm_candidates()

def miasm.arch.x86.arch.mn_x86.filter_asm_candidates (   cls,
  instr,
  candidates 
)

Reimplemented from miasm.core.cpu.cls_mn.

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

◆ fromstring()

def miasm.arch.x86.arch.mn_x86.fromstring (   cls,
  text,
  loc_db,
  mode 
)

Reimplemented from miasm.core.cpu.cls_mn.

Here is the call graph for this function:

◆ gen_modes()

def miasm.arch.x86.arch.mn_x86.gen_modes (   cls,
  subcls,
  name,
  bases,
  dct,
  fields 
)

◆ gen_prefix()

def miasm.arch.x86.arch.mn_x86.gen_prefix (   self)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_cls_instance()

def miasm.arch.x86.arch.mn_x86.get_cls_instance (   cls,
  cc,
  mode,
  infos = None 
)

Reimplemented from miasm.core.cpu.cls_mn.

Here is the caller graph for this function:

◆ getmn()

def miasm.arch.x86.arch.mn_x86.getmn (   cls,
  name 
)

◆ getnextflow()

def miasm.arch.x86.arch.mn_x86.getnextflow (   self,
  loc_db 
)

◆ getpc()

def miasm.arch.x86.arch.mn_x86.getpc (   cls,
  attrib 
)

◆ getsp()

def miasm.arch.x86.arch.mn_x86.getsp (   cls,
  attrib 
)

◆ ir_pre_instruction()

def miasm.arch.x86.arch.mn_x86.ir_pre_instruction (   self)

◆ mod_fields()

def miasm.arch.x86.arch.mn_x86.mod_fields (   cls,
  fields 
)

Reimplemented from miasm.core.cpu.cls_mn.

◆ post_asm()

def miasm.arch.x86.arch.mn_x86.post_asm (   self,
  v 
)

◆ post_dis()

def miasm.arch.x86.arch.mn_x86.post_dis (   self)

Reimplemented from miasm.core.cpu.cls_mn.

◆ pre_dis()

def miasm.arch.x86.arch.mn_x86.pre_dis (   cls,
  v,
  mode,
  offset 
)

Reimplemented from miasm.core.cpu.cls_mn.

Here is the caller graph for this function:

◆ reset_class()

def miasm.arch.x86.arch.mn_x86.reset_class (   self)

Reimplemented from miasm.core.cpu.cls_mn.

◆ v_admode()

def miasm.arch.x86.arch.mn_x86.v_admode (   self)
Here is the caller graph for this function:

◆ v_opmode()

def miasm.arch.x86.arch.mn_x86.v_opmode (   self)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ admode

miasm.arch.x86.arch.mn_x86.admode

◆ all_mn

list miasm.arch.x86.arch.mn_x86.all_mn = []
static

◆ all_mn_inst

miasm.arch.x86.arch.mn_x86.all_mn_inst = defaultdict(list)
static

◆ all_mn_mode

miasm.arch.x86.arch.mn_x86.all_mn_mode = defaultdict(list)
static

◆ all_mn_name

miasm.arch.x86.arch.mn_x86.all_mn_name = defaultdict(list)
static

◆ bintree

dictionary miasm.arch.x86.arch.mn_x86.bintree = {}
static

◆ delayslot

int miasm.arch.x86.arch.mn_x86.delayslot = 0
static

◆ instruction

miasm.arch.x86.arch.mn_x86.instruction = instruction_x86
static

◆ max_instruction_len

int miasm.arch.x86.arch.mn_x86.max_instruction_len = 15
static

◆ name

string miasm.arch.x86.arch.mn_x86.name = "x86"
static

◆ num

int miasm.arch.x86.arch.mn_x86.num = 0
static

◆ opmode

miasm.arch.x86.arch.mn_x86.opmode

◆ pc

dictionary miasm.arch.x86.arch.mn_x86.pc = {16: IP, 32: EIP, 64: RIP}
static

◆ prefix

miasm.arch.x86.arch.mn_x86.prefix

◆ prefix_ad_size

bool miasm.arch.x86.arch.mn_x86.prefix_ad_size = False
static

◆ prefix_op_size

bool miasm.arch.x86.arch.mn_x86.prefix_op_size = False
static

◆ regs

miasm.arch.x86.arch.mn_x86.regs = regs_module
static

◆ sp

dictionary miasm.arch.x86.arch.mn_x86.sp = {16: SP, 32: ESP, 64: RSP}
static

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