about summary refs log tree commit diff stats
path: root/example/disasm/file.py
diff options
context:
space:
mode:
authorCamille Mougey <camille.mougey@cea.fr>2015-01-18 18:44:44 +0100
committerCamille Mougey <camille.mougey@cea.fr>2015-01-23 17:24:43 +0100
commit9206458e0f4b815e4af68f8978d96d14632a087f (patch)
tree49482f48f187f558493b82bee6fd904912b52f3f /example/disasm/file.py
parent663b49b712b4309d44e2ae77e37f26861c4906b7 (diff)
downloadfocaccia-miasm-9206458e0f4b815e4af68f8978d96d14632a087f.tar.gz
focaccia-miasm-9206458e0f4b815e4af68f8978d96d14632a087f.zip
Example: Move disasm's examples to a `disasm` directory
Diffstat (limited to 'example/disasm/file.py')
-rw-r--r--example/disasm/file.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/example/disasm/file.py b/example/disasm/file.py
new file mode 100644
index 00000000..5bae0e89
--- /dev/null
+++ b/example/disasm/file.py
@@ -0,0 +1,19 @@
+import sys
+from miasm2.arch.x86.disasm import dis_x86_32
+from miasm2.core.asmbloc import bloc2graph
+from miasm2.analysis.binary import Container
+
+if len(sys.argv) != 3:
+    print 'Example:'
+    print "%s samples/box_upx.exe 0x410f90" % sys.argv[0]
+    sys.exit(0)
+
+addr = int(sys.argv[2], 16)
+cont = Container.from_stream(open(sys.argv[1]))
+mdis = dis_x86_32(cont.bin_stream)
+# Inform the engine to avoid disassembling null instructions
+mdis.dont_dis_nulstart_bloc = True
+blocs = mdis.dis_multibloc(addr)
+
+graph = bloc2graph(blocs)
+open('graph.txt', 'w').write(graph)