diff options
| author | Camille Mougey <commial@gmail.com> | 2017-03-14 08:27:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-14 08:27:13 +0100 |
| commit | 67117bf808b8348a103f91ca64749d46de3f2db5 (patch) | |
| tree | 0317a4ba83bd3fe0cc21a89855139271d04af318 /miasm2/analysis/data_analysis.py | |
| parent | 5ee794990ff30ca18909dd3815eda26ac267cbf4 (diff) | |
| parent | f1a2d7456c8a7482939d43ac5c1d6b829db4cdaf (diff) | |
| download | miasm-67117bf808b8348a103f91ca64749d46de3f2db5.tar.gz miasm-67117bf808b8348a103f91ca64749d46de3f2db5.zip | |
Merge pull request #497 from serpilliere/rename_symb
Rename symb
Diffstat (limited to 'miasm2/analysis/data_analysis.py')
| -rw-r--r-- | miasm2/analysis/data_analysis.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/miasm2/analysis/data_analysis.py b/miasm2/analysis/data_analysis.py index 9fee22af..c67c4509 100644 --- a/miasm2/analysis/data_analysis.py +++ b/miasm2/analysis/data_analysis.py @@ -1,6 +1,6 @@ from miasm2.expression.expression \ import get_expr_mem, get_list_rw, ExprId, ExprInt -from miasm2.ir.symbexec import symbexec +from miasm2.ir.symbexec import SymbolicExecutionEngine def get_node_name(label, i, n): @@ -77,7 +77,7 @@ def intra_bloc_flow_symbexec(ir_arch, flow_graph, irb): symbols_init = dict(ir_arch.arch.regs.all_regs_ids_init) - sb = symbexec(ir_arch, dict(symbols_init)) + sb = SymbolicExecutionEngine(ir_arch, dict(symbols_init)) sb.emulbloc(irb) # print "*"*40 # print irb @@ -116,10 +116,10 @@ def inter_bloc_flow_link(ir_arch, flow_graph, todo, link_exec_to_data): current_nodes = dict(current_nodes) # link current nodes to bloc in_nodes - if not lbl in ir_arch.blocs: + if not lbl in ir_arch.blocks: print "cannot find bloc!!", lbl return set() - irb = ir_arch.blocs[lbl] + irb = ir_arch.blocks[lbl] # pp(('IN', lbl, [(str(x[0]), str(x[1])) for x in current_nodes.items()])) to_del = set() for n_r, node_n_r in irb.in_nodes.items(): @@ -159,15 +159,15 @@ def create_implicit_flow(ir_arch, flow_graph): # first fix IN/OUT # If a son read a node which in not in OUT, add it - todo = set(ir_arch.blocs.keys()) + todo = set(ir_arch.blocks.keys()) while todo: lbl = todo.pop() - irb = ir_arch.blocs[lbl] + irb = ir_arch.blocks[lbl] for lbl_son in ir_arch.graph.successors(irb.label): - if not lbl_son in ir_arch.blocs: + if not lbl_son in ir_arch.blocks: print "cannot find bloc!!", lbl continue - irb_son = ir_arch.blocs[lbl_son] + irb_son = ir_arch.blocks[lbl_son] for n_r in irb_son.in_nodes: if n_r in irb.out_nodes: continue @@ -211,8 +211,8 @@ class symb_exec_func: """ This algorithm will do symbolic execution on a function, trying to propagate - states between basic blocs in order to extract inter-blocs dataflow. The - algorithm tries to merge states from blocs with multiple parents. + states between basic blocks in order to extract inter-blocs dataflow. The + algorithm tries to merge states from blocks with multiple parents. There is no real magic here, loops and complex merging will certainly fail. """ @@ -297,7 +297,7 @@ class symb_exec_func: # print "state done" # continue - sb = symbexec(self.ir_arch, dict(s)) + sb = SymbolicExecutionEngine(self.ir_arch, dict(s)) return parent, ad, sb return None |