diff options
| author | William Bruneau <william.bruneau@epfedu.fr> | 2019-09-20 11:22:44 +0200 |
|---|---|---|
| committer | William Bruneau <william.bruneau@epfedu.fr> | 2019-09-20 11:31:34 +0200 |
| commit | 42956b4895d1804251a2cc3fd2d25a62185ea641 (patch) | |
| tree | 476dbeef38bd987c87faecaa142f36e15869b36a /miasm/jitter/loader/pe.py | |
| parent | ee77b1bfbd6a4a69049359b188e124d85104bca5 (diff) | |
| download | focaccia-miasm-42956b4895d1804251a2cc3fd2d25a62185ea641.tar.gz focaccia-miasm-42956b4895d1804251a2cc3fd2d25a62185ea641.zip | |
Loader: add exception in vm2pe for PC < image base
Diffstat (limited to 'miasm/jitter/loader/pe.py')
| -rw-r--r-- | miasm/jitter/loader/pe.py | 5 |
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: |