diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2015-05-22 18:39:08 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2015-05-22 23:30:26 +0200 |
| commit | feaa2b486ab69d34a500bcab2ec19b169bbd53c3 (patch) | |
| tree | d12d1adc65f5d5908367ed95493f9f645e4e58e7 | |
| parent | 363a9f0e726fab0e53031de89f2b66db7558d010 (diff) | |
| download | miasm-feaa2b486ab69d34a500bcab2ec19b169bbd53c3.tar.gz miasm-feaa2b486ab69d34a500bcab2ec19b169bbd53c3.zip | |
Loader/Pe: fix vm2pe for 64 bit pe
| -rw-r--r-- | miasm2/jitter/loader/pe.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/miasm2/jitter/loader/pe.py b/miasm2/jitter/loader/pe.py index 7bf8482b..3233cd4b 100644 --- a/miasm2/jitter/loader/pe.py +++ b/miasm2/jitter/loader/pe.py @@ -226,7 +226,11 @@ def vm2pe(myjit, fname, libs=None, e_orig=None, min_addr=None, max_addr=None, min_section_offset=0x1000, img_base=None, added_funcs=None): - mye = pe_init.PE() + if e_orig: + size = e_orig._wsize + else: + size = 32 + mye = pe_init.PE(wsize=size) 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]) @@ -241,7 +245,7 @@ def vm2pe(myjit, fname, libs=None, e_orig=None, all_mem = myjit.vm.get_all_memory() addrs = all_mem.keys() addrs.sort() - mye.Opthdr.AddressOfEntryPoint = mye.virt2rva(myjit.cpu.EIP) + mye.Opthdr.AddressOfEntryPoint = mye.virt2rva(myjit.pc) first = True for ad in addrs: if not min_addr <= ad < max_addr: |