miasm
Reverse engineering framework
miasm.core.asmblock.BlockChain Class Reference
Inheritance diagram for miasm.core.asmblock.BlockChain:
Collaboration diagram for miasm.core.asmblock.BlockChain:

Public Member Functions

def __init__ (self, loc_db, blocks)
 
def pinned (self)
 
def place (self)
 
def merge (self, chain)
 
def fix_blocks (self, modified_loc_keys)
 

Public Attributes

 loc_db
 
 blocks
 
 pinned_block_idx
 
 max_size
 
 offset_min
 
 offset_max
 

Detailed Description

Manage blocks linked with an asm_constraint_next

Constructor & Destructor Documentation

◆ __init__()

def miasm.core.asmblock.BlockChain.__init__ (   self,
  loc_db,
  blocks 
)

Member Function Documentation

◆ fix_blocks()

def miasm.core.asmblock.BlockChain.fix_blocks (   self,
  modified_loc_keys 
)
Propagate a pinned to its blocks' neighbour
@modified_loc_keys: store new pinned loc_keys
Here is the call graph for this function:

◆ merge()

def miasm.core.asmblock.BlockChain.merge (   self,
  chain 
)
Best effort merge two block chains
Return the list of resulting blockchains
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pinned()

def miasm.core.asmblock.BlockChain.pinned (   self)
Return True iff at least one block is pinned
Here is the caller graph for this function:

◆ place()

def miasm.core.asmblock.BlockChain.place (   self)
Compute BlockChain min_offset and max_offset using pinned block and
blocks' size
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ blocks

miasm.core.asmblock.BlockChain.blocks

◆ loc_db

miasm.core.asmblock.BlockChain.loc_db

◆ max_size

miasm.core.asmblock.BlockChain.max_size

◆ offset_max

miasm.core.asmblock.BlockChain.offset_max

◆ offset_min

miasm.core.asmblock.BlockChain.offset_min

◆ pinned_block_idx

miasm.core.asmblock.BlockChain.pinned_block_idx

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