diff options
Diffstat (limited to 'example/disasm_03.py')
| -rw-r--r-- | example/disasm_03.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/example/disasm_03.py b/example/disasm_03.py new file mode 100644 index 00000000..08b209a1 --- /dev/null +++ b/example/disasm_03.py @@ -0,0 +1,23 @@ +import sys +from elfesteem import pe_init +from miasm2.arch.x86.disasm import dis_x86_32 +from miasm2.core.asmbloc import bloc2graph +from miasm2.core.bin_stream import bin_stream_pe + +if len(sys.argv) != 3: + print 'Example:' + print "%s box_upx.exe 0x410f90" % sys.argv[0] + sys.exit(0) + +fname = sys.argv[1] +ad = int(sys.argv[2], 16) +e = pe_init.PE(open(fname).read()) +bs = bin_stream_pe(e.virt) + +mdis = dis_x86_32(bs) +# inform the engine not to disasm nul instructions +mdis.dont_dis_nulstart_bloc = True +blocs = mdis.dis_multibloc(ad) + +g = bloc2graph(blocs) +open('graph.txt', 'w').write(g) |