about summary refs log tree commit diff stats
path: root/example/disasm
diff options
context:
space:
mode:
Diffstat (limited to 'example/disasm')
-rw-r--r--example/disasm/callback.py6
-rw-r--r--example/disasm/dis_binary.py4
-rw-r--r--example/disasm/dis_binary_ir.py4
-rw-r--r--example/disasm/dis_binary_ira.py4
-rw-r--r--example/disasm/dis_x86_string.py9
-rw-r--r--example/disasm/full.py14
6 files changed, 31 insertions, 10 deletions
diff --git a/example/disasm/callback.py b/example/disasm/callback.py
index 1498b11e..eb999738 100644
--- a/example/disasm/callback.py
+++ b/example/disasm/callback.py
@@ -2,6 +2,7 @@ from __future__ import print_function
 from miasm.analysis.binary import Container
 from miasm.analysis.machine import Machine
 from miasm.core.asmblock import AsmConstraint
+from miasm.core.locationdb import LocationDB
 
 
 def cb_x86_callpop(mdis, cur_bloc, offset_to_dis):
@@ -50,8 +51,9 @@ shellcode = (
 
 # Instantiate a x86 32 bit architecture
 machine = Machine("x86_32")
-cont = Container.from_string(shellcode)
-mdis = machine.dis_engine(cont.bin_stream, loc_db=cont.loc_db)
+loc_db = LocationDB()
+cont = Container.from_string(shellcode, loc_db)
+mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
 
 print("Without callback:\n")
 asmcfg = mdis.dis_multiblock(0)
diff --git a/example/disasm/dis_binary.py b/example/disasm/dis_binary.py
index 37eabb14..af140f28 100644
--- a/example/disasm/dis_binary.py
+++ b/example/disasm/dis_binary.py
@@ -2,12 +2,14 @@ from __future__ import print_function
 import sys
 from miasm.analysis.binary import Container
 from miasm.analysis.machine import Machine
+from miasm.core.locationdb import LocationDB
 
 fdesc = open(sys.argv[1], 'rb')
+loc_db = LocationDB()
 
 # The Container will provide a *bin_stream*, bytes source for the disasm engine
 # It will prodive a view from a PE or an ELF.
-cont = Container.from_stream(fdesc)
+cont = Container.from_stream(fdesc, loc_db)
 
 # The Machine, instantiated with the detected architecture, will provide tools
 # (disassembler, etc.) to work with this architecture
diff --git a/example/disasm/dis_binary_ir.py b/example/disasm/dis_binary_ir.py
index ff7a0d36..3facd74b 100644
--- a/example/disasm/dis_binary_ir.py
+++ b/example/disasm/dis_binary_ir.py
@@ -3,14 +3,16 @@ import sys
 from future.utils import viewvalues
 from miasm.analysis.binary import Container
 from miasm.analysis.machine import Machine
+from miasm.core.locationdb import LocationDB
 
 #####################################
 # Common section from dis_binary.py #
 #####################################
 
 fdesc = open(sys.argv[1], 'rb')
+loc_db = LocationDB()
 
-cont = Container.from_stream(fdesc)
+cont = Container.from_stream(fdesc, loc_db)
 
 machine = Machine(cont.arch)
 
diff --git a/example/disasm/dis_binary_ira.py b/example/disasm/dis_binary_ira.py
index 3ecd5349..bfed3497 100644
--- a/example/disasm/dis_binary_ira.py
+++ b/example/disasm/dis_binary_ira.py
@@ -4,14 +4,16 @@ import sys
 from future.utils import viewvalues
 from miasm.analysis.binary import Container
 from miasm.analysis.machine import Machine
+from miasm.core.locationdb import LocationDB
 
 #####################################
 # Common section from dis_binary.py #
 #####################################
 
 fdesc = open(sys.argv[1], 'rb')
+loc_db = LocationDB()
 
-cont = Container.from_stream(fdesc)
+cont = Container.from_stream(fdesc, loc_db)
 
 machine = Machine(cont.arch)
 
diff --git a/example/disasm/dis_x86_string.py b/example/disasm/dis_x86_string.py
index 6d4e2c84..b944c6ad 100644
--- a/example/disasm/dis_x86_string.py
+++ b/example/disasm/dis_x86_string.py
@@ -1,16 +1,21 @@
 from __future__ import print_function
 from miasm.analysis.binary import Container
 from miasm.analysis.machine import Machine
+from miasm.core.locationdb import LocationDB
 
 # The Container will provide a *bin_stream*, bytes source for the disasm engine
-cont = Container.from_string(b"\x83\xf8\x10\x74\x07\x89\xc6\x0f\x47\xc3\xeb\x08\x89\xc8\xe8\x31\x33\x22\x11\x40\xc3")
+loc_db = LocationDB()
+cont = Container.from_string(
+    b"\x83\xf8\x10\x74\x07\x89\xc6\x0f\x47\xc3\xeb\x08\x89\xc8\xe8\x31\x33\x22\x11\x40\xc3",
+    loc_db
+)
 
 # Instantiate a x86 32 bit architecture
 machine = Machine("x86_32")
 
 # Instantiate a disassembler engine, using the previous bin_stream and its
 # associated location DB.
-mdis = machine.dis_engine(cont.bin_stream, loc_db=cont.loc_db)
+mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
 
 # Run a recursive traversal disassembling from address 0
 asmcfg = mdis.dis_multiblock(0)
diff --git a/example/disasm/full.py b/example/disasm/full.py
index 57263a6f..9e739109 100644
--- a/example/disasm/full.py
+++ b/example/disasm/full.py
@@ -15,6 +15,7 @@ from miasm.expression.simplifications import expr_simp
 from miasm.analysis.ssa import SSADiGraph
 from miasm.ir.ir import AssignBlock, IRBlock
 from miasm.analysis.simplifier import IRCFGSimplifierCommon, IRCFGSimplifierSSA
+from miasm.core.locationdb import LocationDB
 
 log = logging.getLogger("dis")
 console_handler = logging.StreamHandler()
@@ -75,13 +76,20 @@ args = parser.parse_args()
 if args.verbose:
     log_asmblock.setLevel(logging.DEBUG)
 
+loc_db = LocationDB()
 log.info('Load binary')
 if args.rawbinary:
-    cont = Container.fallback_container(open(args.filename, "rb").read(),
-                                        vm=None, addr=args.base_address)
+    cont = Container.fallback_container(
+        open(args.filename, "rb").read(),
+        vm=None, addr=args.base_address,
+        loc_db=loc_db,
+    )
 else:
     with open(args.filename, "rb") as fdesc:
-        cont = Container.from_stream(fdesc, addr=args.base_address)
+        cont = Container.from_stream(
+            fdesc, addr=args.base_address,
+            loc_db=loc_db,
+        )
 
 default_addr = cont.entry_point
 bs = cont.bin_stream