about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2018-05-15 10:21:32 +0200
committerGitHub <noreply@github.com>2018-05-15 10:21:32 +0200
commit833524bb7291e82613afba2184b3c0c9801445f5 (patch)
treece591b073145ae526b7f6491dc8c5ce46369caf8
parent55b0df67343778346751dc2c4e071186705ba68a (diff)
parent4cbc30d367d0bbd7a4f33ef6fe3872cd6e468581 (diff)
downloadmiasm-833524bb7291e82613afba2184b3c0c9801445f5.tar.gz
miasm-833524bb7291e82613afba2184b3c0c9801445f5.zip
Merge pull request #724 from serpilliere/fix_resource_rebuild
PE: fix resource rebuild
-rw-r--r--miasm2/jitter/loader/pe.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/miasm2/jitter/loader/pe.py b/miasm2/jitter/loader/pe.py
index 65bf284b..2fe4cd3f 100644
--- a/miasm2/jitter/loader/pe.py
+++ b/miasm2/jitter/loader/pe.py
@@ -325,15 +325,15 @@ def vm2pe(myjit, fname, libs=None, e_orig=None,
         xx = str(mye)
         mye.content = xx
         ad = e_orig.NThdr.optentries[pe.DIRECTORY_ENTRY_RESOURCE].rva
+        size = e_orig.NThdr.optentries[pe.DIRECTORY_ENTRY_RESOURCE].size
         log.debug('dirres 0x%x', ad)
         if ad != 0:
             mye.NThdr.optentries[pe.DIRECTORY_ENTRY_RESOURCE].rva = ad
-            mye.DirRes = pe.DirRes.unpack(xx, ad, mye)
-            # log.debug('%s' % repr(mye.DirRes))
-            s_res = mye.SHList.add_section(
-                name="myres", rawsize=len(mye.DirRes))
-            mye.DirRes.set_rva(s_res.addr)
+            mye.NThdr.optentries[pe.DIRECTORY_ENTRY_RESOURCE].size = size
+            mye.DirRes = pe.DirRes.unpack(mye.img_rva, ad, mye)
             log.debug('%r', mye.DirRes)
+            s_res = mye.SHList.add_section(name="myres", rawsize=len(mye.DirRes))
+            mye.DirRes.set_rva(s_res.addr)
     # generation
     open(fname, 'wb').write(str(mye))
     return mye