about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/jitter/jitload.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/miasm2/jitter/jitload.py b/miasm2/jitter/jitload.py
index 86fe8f8c..e3b7e8d9 100644
--- a/miasm2/jitter/jitload.py
+++ b/miasm2/jitter/jitload.py
@@ -804,12 +804,17 @@ class jitter:
 
 
 def vm2pe(myjit, fname, libs=None, e_orig=None,
-          max_addr=1 << 64, min_addr=None,
+          min_addr=None, max_addr=None,
           min_section_offset=0x1000, img_base=None,
           added_funcs=None):
     mye = pe_init.PE()
-    if min_addr is None:
-        min_addr=e_orig.rva2virt(e_orig.SHList[0].addr)
+
+    if min_addr is None and e_orig is not None:
+        min_addr = min([e_orig.rva2virt(s.addr) for s in e_orig.SHList])
+    if max_addr is None and e_orig is not None:
+        max_addr = max([e_orig.rva2virt(s.addr + s.size) for s in e_orig.SHList])
+
+
     if img_base is None:
         img_base = e_orig.NThdr.ImageBase
 
@@ -869,4 +874,4 @@ def vm2pe(myjit, fname, libs=None, e_orig=None,
             log.debug('%s' % repr(mye.DirRes))
     # generation
     open(fname, 'w').write(str(mye))
-
+    return mye