diff options
| -rw-r--r-- | miasm2/jitter/loader/elf.py | 4 | ||||
| -rw-r--r-- | miasm2/jitter/loader/pe.py | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/miasm2/jitter/loader/elf.py b/miasm2/jitter/loader/elf.py index 528ff4f5..3fd08725 100644 --- a/miasm2/jitter/loader/elf.py +++ b/miasm2/jitter/loader/elf.py @@ -47,13 +47,13 @@ def preload_elf(vm, e, runtime_lib, patch_vm_imp=True): -def vm_load_elf(vm, fname, **kargs): +def vm_load_elf(vm, fdata, **kargs): """ Very dirty elf loader TODO XXX: implement real loader """ #log.setLevel(logging.DEBUG) - e = elf_init.ELF(open(fname, 'rb').read(), **kargs) + e = elf_init.ELF(fdata, **kargs) i = interval() all_data = {} for p in e.ph.phlist: diff --git a/miasm2/jitter/loader/pe.py b/miasm2/jitter/loader/pe.py index f492cba3..12a62efa 100644 --- a/miasm2/jitter/loader/pe.py +++ b/miasm2/jitter/loader/pe.py @@ -88,9 +88,9 @@ def get_export_name_addr_list(e): -def vm_load_pe(vm, fname, align_s=True, load_hdr=True, +def vm_load_pe(vm, fdata, align_s=True, load_hdr=True, **kargs): - e = pe_init.PE(open(fname, 'rb').read(), **kargs) + e = pe_init.PE(fdata, **kargs) aligned = True for s in e.SHList: @@ -162,7 +162,8 @@ def vm_load_pe(vm, fname, align_s=True, load_hdr=True, def vm_load_pe_lib(fname_in, libs, lib_path_base, patch_vm_imp, **kargs): fname = os.path.join(lib_path_base, fname_in) - e = vm_load_pe(fname, **kargs) + with open(fname) as fstream: + e = vm_load_pe(fstream.read(), **kargs) libs.add_export_lib(e, fname_in) # preload_pe(e, libs, patch_vm_imp) return e |