miasm
Reverse engineering framework
|
Classes | |
class | CustomIRCFGSimplifierSSA |
class | IRADelModCallStack |
Functions | |
def | is_addr_ro_variable (bs, addr, size) |
Variables | |
log = logging.getLogger("dis") | |
console_handler = logging.StreamHandler() | |
parser = ArgumentParser("Disassemble a binary") | |
help | |
nargs | |
action | |
default | |
None | |
type | |
False | |
args = parser.parse_args() | |
loc_db = LocationDB() | |
cont | |
default_addr = cont.entry_point | |
bs = cont.bin_stream | |
e = cont.executable | |
arch = args.architecture if args.architecture else cont.arch | |
machine = Machine(arch) | |
mn | |
dis_engine | |
ira | |
ir | |
mdis = dis_engine(bs, loc_db=cont.loc_db) | |
dontdis_retcall | |
blocs_wd | |
dont_dis_nulstart_bloc | |
follow_call | |
list | todo = [] |
list | addrs = [] |
loc_key = mdis.loc_db.get_name_location(addr) | |
offset = mdis.loc_db.get_location_offset(loc_key) | |
done = set() | |
all_funcs = set() | |
dictionary | all_funcs_blocks = {} |
done_interval = interval() | |
bool | finish = False |
entry_points = set() | |
caller | |
ad | |
asmcfg = mdis.dis_multiblock(ad) | |
instr = block.get_subcall_instr() | |
all_asmcfg = AsmCFG(mdis.loc_db) | |
list | all_lines = [] |
int | total_l = 0 |
key | |
gen_ir | |
ir_arch = ir(mdis.loc_db) | |
ir_arch_a = IRADelModCallStack(mdis.loc_db) | |
ircfg = ir_arch.new_ircfg() | |
ircfg_a = ir_arch.new_ircfg() | |
blocks | |
head = list(entry_points)[0] | |
ircfg_simplifier = IRCFGSimplifierCommon(ir_arch_a) | |
reachings = ReachingDefinitions(ircfg_a) | |
out = ircfg.dot() | |
ssa = SSADiGraph(ircfg_a) | |
simplifier = CustomIRCFGSimplifierSSA(ir_arch_a) | |
def full.is_addr_ro_variable | ( | bs, | |
addr, | |||
size | |||
) |
Return True if address at @addr is a read-only variable. WARNING: Quick & Dirty @addr: integer representing the address of the variable @size: size in bits
full.action |
full.ad |
list full.addrs = [] |
full.all_asmcfg = AsmCFG(mdis.loc_db) |
full.all_funcs = set() |
dictionary full.all_funcs_blocks = {} |
list full.all_lines = [] |
full.arch = args.architecture if args.architecture else cont.arch |
full.args = parser.parse_args() |
full.asmcfg = mdis.dis_multiblock(ad) |
full.blocks |
full.blocs_wd |
full.bs = cont.bin_stream |
full.caller |
full.console_handler = logging.StreamHandler() |
full.cont |
full.default |
full.default_addr = cont.entry_point |
full.dis_engine |
full.done = set() |
full.done_interval = interval() |
full.dont_dis_nulstart_bloc |
full.dontdis_retcall |
full.e = cont.executable |
full.entry_points = set() |
full.False |
bool full.finish = False |
full.follow_call |
full.gen_ir |
full.head = list(entry_points)[0] |
full.help |
full.instr = block.get_subcall_instr() |
full.ir |
full.ir_arch = ir(mdis.loc_db) |
full.ir_arch_a = IRADelModCallStack(mdis.loc_db) |
full.ira |
full.ircfg = ir_arch.new_ircfg() |
full.ircfg_a = ir_arch.new_ircfg() |
full.ircfg_simplifier = IRCFGSimplifierCommon(ir_arch_a) |
full.key |
full.loc_db = LocationDB() |
full.loc_key = mdis.loc_db.get_name_location(addr) |
full.log = logging.getLogger("dis") |
full.mdis = dis_engine(bs, loc_db=cont.loc_db) |
full.mn |
full.nargs |
full.None |
full.offset = mdis.loc_db.get_location_offset(loc_key) |
full.out = ircfg.dot() |
full.parser = ArgumentParser("Disassemble a binary") |
full.reachings = ReachingDefinitions(ircfg_a) |
full.simplifier = CustomIRCFGSimplifierSSA(ir_arch_a) |
full.ssa = SSADiGraph(ircfg_a) |
list full.todo = [] |
int full.total_l = 0 |
full.type |