miasm
Reverse engineering framework
|
Classes | |
class | AsmBlock |
class | AsmBlockBad |
class | AsmCFG |
class | AsmConstraint |
class | AsmConstraintNext |
class | AsmConstraintTo |
class | AsmRaw |
class | BlockChain |
class | BlockChainWedge |
class | disasmEngine |
Functions | |
def | conservative_asm (mnemo, instr, symbols, conservative) |
def | fix_expr_val (expr, symbols) |
def | fix_loc_offset (loc_db, loc_key, offset, modified) |
def | group_constrained_blocks (asmcfg) |
def | get_blockchains_address_interval (blockChains, dst_interval) |
def | resolve_symbol (blockChains, loc_db, dst_interval=None) |
def | get_block_loc_keys (block) |
def | assemble_block (mnemo, block, conservative=False) |
def | asmblock_final (mnemo, asmcfg, blockChains, conservative=False) |
def | asm_resolve_final (mnemo, asmcfg, dst_interval=None) |
Variables | |
log_asmblock = logging.getLogger("asmblock") | |
console_handler = logging.StreamHandler() | |
bbl_simplifier = DiGraphSimplifier() | |
def miasm.core.asmblock.asm_resolve_final | ( | mnemo, | |
asmcfg, | |||
dst_interval = None |
|||
) |
Resolve and assemble @asmcfg into interval @dst_interval
def miasm.core.asmblock.asmblock_final | ( | mnemo, | |
asmcfg, | |||
blockChains, | |||
conservative = False |
|||
) |
Resolve and assemble @blockChains until fixed point is reached
def miasm.core.asmblock.assemble_block | ( | mnemo, | |
block, | |||
conservative = False |
|||
) |
Assemble a @block @conservative: (optional) use original bytes when possible
def miasm.core.asmblock.conservative_asm | ( | mnemo, | |
instr, | |||
symbols, | |||
conservative | |||
) |
Asm instruction; Try to keep original instruction bytes if it exists
def miasm.core.asmblock.fix_expr_val | ( | expr, | |
symbols | |||
) |
Resolve an expression @expr using @symbols
def miasm.core.asmblock.fix_loc_offset | ( | loc_db, | |
loc_key, | |||
offset, | |||
modified | |||
) |
Fix the @loc_key offset to @offset. If the @offset has changed, add @loc_key to @modified @loc_db: current loc_db
def miasm.core.asmblock.get_block_loc_keys | ( | block | ) |
Extract loc_keys used by @block
def miasm.core.asmblock.get_blockchains_address_interval | ( | blockChains, | |
dst_interval | |||
) |
Compute the interval used by the pinned @blockChains Check if the placed chains are in the @dst_interval
def miasm.core.asmblock.group_constrained_blocks | ( | asmcfg | ) |
Return the BlockChains list built from grouped blocks in asmcfg linked by asm_constraint_next @asmcfg: an AsmCfg instance
def miasm.core.asmblock.resolve_symbol | ( | blockChains, | |
loc_db, | |||
dst_interval = None |
|||
) |
Place @blockChains in the @dst_interval
miasm.core.asmblock.bbl_simplifier = DiGraphSimplifier() |
miasm.core.asmblock.console_handler = logging.StreamHandler() |
miasm.core.asmblock.log_asmblock = logging.getLogger("asmblock") |