diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2019-11-26 07:41:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-26 07:41:27 +0100 |
| commit | c37cec913ac7724f20b0da3e2ef66ae45bbb54c4 (patch) | |
| tree | b0db312633a4ffac1b3bb188f03c0b546a20071b /miasm/jitter/loader/pe.py | |
| parent | 30916ae176b52ccf9aa894ebe65e822deb115743 (diff) | |
| parent | 87dba497998a5c33b6780dca0cc128b0aaa27ce4 (diff) | |
| download | focaccia-miasm-c37cec913ac7724f20b0da3e2ef66ae45bbb54c4.tar.gz focaccia-miasm-c37cec913ac7724f20b0da3e2ef66ae45bbb54c4.zip | |
Merge pull request #1104 from serpilliere/multiple_fix
Multiple fix
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: |