diff options
Diffstat (limited to 'miasm/jitter/loader/pe.py')
| -rw-r--r-- | miasm/jitter/loader/pe.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/miasm/jitter/loader/pe.py b/miasm/jitter/loader/pe.py index 09319664..02558e6c 100644 --- a/miasm/jitter/loader/pe.py +++ b/miasm/jitter/loader/pe.py @@ -30,12 +30,8 @@ def get_pe_dependencies(pe_obj): out = set() for dependency in pe_obj.DirImport.impdesc: libname = dependency.dlldescname.name.lower() - # transform bytes to chr - if isinstance(libname, bytes): - libname_str = '' - for c in libname: - libname_str += chr(c) - libname = libname_str + # transform bytes to str + libname = force_str(libname) out.add(libname) # If binary has redirected export, add dependencies @@ -327,8 +323,12 @@ def vm2pe(myjit, fname, libs=None, e_orig=None, addrs = list(all_mem) addrs.sort() entry_point = mye.virt2rva(myjit.pc) - if not 0 < entry_point < 0xFFFFFFFF: - raise ValueError("Cannot compute a valid entry point RVA") + if entry_point is None or not 0 < entry_point < 0xFFFFFFFF: + raise ValueError( + "Current pc (0x%x) used as entry point seems to be out of the binary" % + myjit.pc + ) + mye.Opthdr.AddressOfEntryPoint = entry_point first = True for ad in addrs: |