miasm
Reverse engineering framework
single_instr Namespace Reference

Variables

 loc_db = LocationDB()
 
 l = mn_x86.fromstring('MOV EAX, EBX', loc_db, 32)
 
 x = mn_x86.asm(l)
 
 y = mn_x86.asm(l)
 
int START_ADDR = 0
 
 machine = Machine("x86_32")
 
 line = machine.mn.fromstring("MOV EAX, EBX", loc_db, 32)
 Ensure that attributes 'offset' and 'l' are set. More...
 
 asm = machine.mn.asm(line)[0]
 
 cont = Container.from_string(asm, loc_db = loc_db)
 
 mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
 
 lines_wd
 
 asm_block = mdis.dis_block(START_ADDR)
 
 ira = machine.ira(mdis.loc_db)
 
 ircfg = ira.new_ircfg()
 
 symb = SymbolicExecutionEngine(ira)
 
 cur_addr = symb.run_at(ircfg, START_ADDR)
 Emulation of several basic blocks can be done through .emul_ir_blocks. More...
 
 mems
 
 ids
 
 eax
 
 ebx
 

Variable Documentation

◆ asm

single_instr.asm = machine.mn.asm(line)[0]

◆ asm_block

single_instr.asm_block = mdis.dis_block(START_ADDR)

◆ cont

single_instr.cont = Container.from_string(asm, loc_db = loc_db)

◆ cur_addr

single_instr.cur_addr = symb.run_at(ircfg, START_ADDR)

Emulation of several basic blocks can be done through .emul_ir_blocks.

◆ eax

single_instr.eax

◆ ebx

single_instr.ebx

◆ ids

single_instr.ids

◆ ira

single_instr.ira = machine.ira(mdis.loc_db)

◆ ircfg

single_instr.ircfg = ira.new_ircfg()

◆ l

single_instr.l = mn_x86.fromstring('MOV EAX, EBX', loc_db, 32)

◆ line

single_instr.line = machine.mn.fromstring("MOV EAX, EBX", loc_db, 32)

Ensure that attributes 'offset' and 'l' are set.

◆ lines_wd

single_instr.lines_wd

◆ loc_db

single_instr.loc_db = LocationDB()

◆ machine

single_instr.machine = Machine("x86_32")

◆ mdis

single_instr.mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)

◆ mems

single_instr.mems

◆ START_ADDR

int single_instr.START_ADDR = 0

◆ symb

single_instr.symb = SymbolicExecutionEngine(ira)

◆ x

single_instr.x = mn_x86.asm(l)

◆ y

single_instr.y = mn_x86.asm(l)