about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2019-09-20 15:50:47 +0200
committerGitHub <noreply@github.com>2019-09-20 15:50:47 +0200
commitb920243529cf850fd5bc9af46d8d97a1bb1019da (patch)
treedc35c710b75197259ce45b48200e7a169d339dcd
parent2a7c3f949ce2e57c0504883c6fb175970edabb95 (diff)
parent42956b4895d1804251a2cc3fd2d25a62185ea641 (diff)
downloadmiasm-b920243529cf850fd5bc9af46d8d97a1bb1019da.tar.gz
miasm-b920243529cf850fd5bc9af46d8d97a1bb1019da.zip
Merge pull request #1061 from WilliamBruneau/exception_vm2pe
Loader: add exception in vm2pe
-rw-r--r--miasm/jitter/loader/pe.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/miasm/jitter/loader/pe.py b/miasm/jitter/loader/pe.py
index fc3fdb13..a82b79f6 100644
--- a/miasm/jitter/loader/pe.py
+++ b/miasm/jitter/loader/pe.py
@@ -299,7 +299,10 @@ def vm2pe(myjit, fname, libs=None, e_orig=None,
     all_mem = myjit.vm.get_all_memory()
     addrs = list(all_mem)
     addrs.sort()
-    mye.Opthdr.AddressOfEntryPoint = mye.virt2rva(myjit.pc)
+    entry_point = mye.virt2rva(myjit.pc)
+    if not 0 < entry_point < 0xFFFFFFFF:
+        raise ValueError("Cannot compute a valid entry point RVA")
+    mye.Opthdr.AddressOfEntryPoint = entry_point
     first = True
     for ad in addrs:
         if not min_addr <= ad < max_addr: