about summary refs log tree commit diff stats
path: root/miasm2/jitter/loader/pe.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2018-04-17 16:08:45 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2018-04-19 08:28:15 +0200
commit4cbc30d367d0bbd7a4f33ef6fe3872cd6e468581 (patch)
treef6a23e4bd850d73b081e435e94ca64e5750aa6a4 /miasm2/jitter/loader/pe.py
parent26a551b57b7d8dd7e9a9245eef5dee1d16864c47 (diff)
downloadmiasm-4cbc30d367d0bbd7a4f33ef6fe3872cd6e468581.tar.gz
miasm-4cbc30d367d0bbd7a4f33ef6fe3872cd6e468581.zip
PE: fix resource rebuild
Diffstat (limited to 'miasm2/jitter/loader/pe.py')
-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