about summary refs log tree commit diff stats
path: root/example/ida
diff options
context:
space:
mode:
authorAjax <commial@gmail.com>2018-07-02 17:31:59 +0200
committerAjax <commial@gmail.com>2018-07-03 14:28:18 +0200
commit68fac2e86cc61eba9adfe520fa0e04a7e8943450 (patch)
tree2be74a21b54a3111f3c18746badfb0cf1ed41149 /example/ida
parent6ef8dbb2223d0847e3822b545b249511e96a1f9b (diff)
downloadmiasm-68fac2e86cc61eba9adfe520fa0e04a7e8943450.tar.gz
miasm-68fac2e86cc61eba9adfe520fa0e04a7e8943450.zip
symbol_pool -> loc_db
Diffstat (limited to 'example/ida')
-rw-r--r--example/ida/ctype_propagation.py6
-rw-r--r--example/ida/depgraph.py10
-rw-r--r--example/ida/graph_ir.py14
-rw-r--r--example/ida/symbol_exec.py12
-rw-r--r--example/ida/utils.py14
5 files changed, 28 insertions, 28 deletions
diff --git a/example/ida/ctype_propagation.py b/example/ida/ctype_propagation.py
index db324833..9a81baef 100644
--- a/example/ida/ctype_propagation.py
+++ b/example/ida/ctype_propagation.py
@@ -266,7 +266,7 @@ def analyse_function():
 
 
     iraCallStackFixer = get_ira_call_fixer(ira)
-    ir_arch = iraCallStackFixer(mdis.symbol_pool)
+    ir_arch = iraCallStackFixer(mdis.loc_db)
 
     asmcfg = mdis.dis_multiblock(addr)
     # Generate IR
@@ -304,8 +304,8 @@ def analyse_function():
         infos_types[expr] = set([objc])
 
     # Add fake head
-    lbl_real_start = ir_arch.symbol_pool.getby_offset(addr)
-    lbl_head = ir_arch.symbol_pool.getby_name_create("start")
+    lbl_real_start = ir_arch.loc_db.getby_offset(addr)
+    lbl_head = ir_arch.loc_db.getby_name_create("start")
 
     first_block = asmcfg.label2block(lbl_real_start)
 
diff --git a/example/ida/depgraph.py b/example/ida/depgraph.py
index 4320be8d..8e635203 100644
--- a/example/ida/depgraph.py
+++ b/example/ida/depgraph.py
@@ -28,7 +28,7 @@ class depGraphSettingsForm(ida_kernwin.Form):
         self.address = idc.ScreenEA()
         cur_block = None
         for block in ira.getby_offset(self.address):
-            offset = self.ira.symbol_pool.loc_key_to_offset(block.loc_key)
+            offset = self.ira.loc_db.loc_key_to_offset(block.loc_key)
             if offset is not None:
                 # Only one block non-generated
                 assert cur_block is None
@@ -208,13 +208,13 @@ def launch_depgraph():
 
     bs = bin_stream_ida()
     mdis = dis_engine(bs, dont_dis_nulstart_bloc=True)
-    ir_arch = ira(mdis.symbol_pool)
+    ir_arch = ira(mdis.loc_db)
 
     # Populate symbols with ida names
     for ad, name in idautils.Names():
         if name is None:
             continue
-        mdis.symbol_pool.add_location(name, ad)
+        mdis.loc_db.add_location(name, ad)
 
     asmcfg = mdis.dis_multiblock(func.startEA)
 
@@ -230,7 +230,7 @@ def launch_depgraph():
     # Simplify affectations
     for irb in ir_arch.blocks.values():
         irs = []
-        offset = ir_arch.symbol_pool.loc_key_to_offset(irb.loc_key)
+        offset = ir_arch.loc_db.loc_key_to_offset(irb.loc_key)
         fix_stack = offset is not None and settings.unalias_stack
         for assignblk in irb:
             if fix_stack:
@@ -251,7 +251,7 @@ def launch_depgraph():
     # Get dependency graphs
     dg = settings.depgraph
     graphs = dg.get(loc_key, elements, line_nb,
-                    set([ir_arch.symbol_pool.getby_offset(func.startEA)]))
+                    set([ir_arch.loc_db.getby_offset(func.startEA)]))
 
     # Display the result
     comments = {}
diff --git a/example/ida/graph_ir.py b/example/ida/graph_ir.py
index dd842281..955dee62 100644
--- a/example/ida/graph_ir.py
+++ b/example/ida/graph_ir.py
@@ -36,12 +36,12 @@ def label_str(self):
 
 def color_irblock(irblock, ir_arch):
     out = []
-    lbl = idaapi.COLSTR(ir_arch.symbol_pool.str_loc_key(irblock.loc_key), idaapi.SCOLOR_INSN)
+    lbl = idaapi.COLSTR(ir_arch.loc_db.str_loc_key(irblock.loc_key), idaapi.SCOLOR_INSN)
     out.append(lbl)
     for assignblk in irblock:
         for dst, src in sorted(assignblk.iteritems()):
-            dst_f = expr2colorstr(dst, symbol_pool=ir_arch.symbol_pool)
-            src_f = expr2colorstr(src, symbol_pool=ir_arch.symbol_pool)
+            dst_f = expr2colorstr(dst, loc_db=ir_arch.loc_db)
+            src_f = expr2colorstr(src, loc_db=ir_arch.loc_db)
             line = idaapi.COLSTR("%s = %s" % (dst_f, src_f), idaapi.SCOLOR_INSN)
             out.append('    %s' % line)
         out.append("")
@@ -112,17 +112,17 @@ def build_graph(verbose=False, simplify=False):
 
     bs = bin_stream_ida()
     mdis = dis_engine(bs)
-    ir_arch = ira(mdis.symbol_pool)
+    ir_arch = ira(mdis.loc_db)
 
     # populate symbols with ida names
     for addr, name in idautils.Names():
         if name is None:
             continue
-        if (mdis.symbol_pool.getby_offset(addr) or
-            mdis.symbol_pool.getby_name(name)):
+        if (mdis.loc_db.getby_offset(addr) or
+            mdis.loc_db.getby_name(name)):
             # Symbol alias
             continue
-        mdis.symbol_pool.add_location(name, addr)
+        mdis.loc_db.add_location(name, addr)
 
     if verbose:
         print "start disasm"
diff --git a/example/ida/symbol_exec.py b/example/ida/symbol_exec.py
index 0d8c63c2..43100943 100644
--- a/example/ida/symbol_exec.py
+++ b/example/ida/symbol_exec.py
@@ -37,11 +37,11 @@ class symbolicexec_t(idaapi.simplecustviewer_t):
         self.AddLine("%s = %s" % (
             expr2colorstr(
                 key,
-                symbol_pool=self.symbol_pool
+                loc_db=self.loc_db
             ),
             expr2colorstr(
                 value,
-                symbol_pool=self.symbol_pool
+                loc_db=self.loc_db
             )
         ))
 
@@ -69,12 +69,12 @@ class symbolicexec_t(idaapi.simplecustviewer_t):
         form.Compile()
         form.Execute()
 
-    def Create(self, equations, machine, symbol_pool, *args, **kwargs):
+    def Create(self, equations, machine, loc_db, *args, **kwargs):
         if not super(symbolicexec_t, self).Create(*args, **kwargs):
             return False
 
         self.machine = machine
-        self.symbol_pool = symbol_pool
+        self.loc_db = loc_db
         self.line2eq = sorted(equations.items(), key=operator.itemgetter(0))
         self.lines_expanded = set()
 
@@ -141,7 +141,7 @@ def symbolic_exec():
 
     mdis.dont_dis = [end]
     asmcfg = mdis.dis_multiblock(start)
-    ira = machine.ira(symbol_pool=mdis.symbol_pool)
+    ira = machine.ira(loc_db=mdis.loc_db)
     for block in asmcfg.blocks:
         ira.add_block(block)
 
@@ -155,7 +155,7 @@ def symbolic_exec():
 
     view = symbolicexec_t()
     all_views.append(view)
-    if not view.Create(modified, machine, mdis.symbol_pool,
+    if not view.Create(modified, machine, mdis.loc_db,
                        "Symbolic Execution - 0x%x to 0x%x"
                        % (start, idc.prev_head(end))):
         return
diff --git a/example/ida/utils.py b/example/ida/utils.py
index 5620a881..254617ba 100644
--- a/example/ida/utils.py
+++ b/example/ida/utils.py
@@ -79,9 +79,9 @@ class TranslatorIDA(Translator):
     # Implemented language
     __LANG__ = "ida_w_color"
 
-    def __init__(self, symbol_pool=None, **kwargs):
+    def __init__(self, loc_db=None, **kwargs):
         super(TranslatorIDA, self).__init__(**kwargs)
-        self.symbol_pool = symbol_pool
+        self.loc_db = loc_db
 
     def str_protected_child(self, child, parent):
         return ("(%s)" % (
@@ -97,8 +97,8 @@ class TranslatorIDA(Translator):
         return out
 
     def from_ExprLoc(self, expr):
-        if self.symbol_pool is not None:
-            out = self.symbol_pool.str_loc_key(expr.loc_key)
+        if self.loc_db is not None:
+            out = self.loc_db.str_loc_key(expr.loc_key)
         else:
             out = str(expr)
         out = idaapi.COLSTR(out, idaapi.SCOLOR_REG)
@@ -150,13 +150,13 @@ class TranslatorIDA(Translator):
 
 
 
-def expr2colorstr(expr, symbol_pool):
+def expr2colorstr(expr, loc_db):
     """Colorize an Expr instance for IDA
     @expr: Expr instance to colorize
-    @symbol_pool: AsmSymbolPool instance
+    @loc_db: LocationDB instance
     """
 
-    translator = TranslatorIDA(symbol_pool=symbol_pool)
+    translator = TranslatorIDA(loc_db=loc_db)
     return translator.from_expr(expr)