![]() |
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") |