about summary refs log tree commit diff stats
path: root/miasm2/jitter/loader/pe.py
diff options
context:
space:
mode:
authorPierre Lalet <pierre@droids-corp.org>2015-12-16 19:19:29 +0100
committerPierre Lalet <pierre@droids-corp.org>2015-12-16 19:19:29 +0100
commitee96ee5e19f6c6712a871a19c07eb89c35e3dce5 (patch)
tree52437a9bbd60ace952acb4b62952f445d323eb21 /miasm2/jitter/loader/pe.py
parent4915549bfcb8c7a1870f51935337c6eb7c7cda29 (diff)
parenta43701339a409b0c1cfbfbcae4a3d4a5f07fcea6 (diff)
downloadmiasm-ee96ee5e19f6c6712a871a19c07eb89c35e3dce5.tar.gz
miasm-ee96ee5e19f6c6712a871a19c07eb89c35e3dce5.zip
Merge pull request #296 from serpilliere/loader_rw
Loader/pe: fix load page rw
Diffstat (limited to 'miasm2/jitter/loader/pe.py')
-rw-r--r--miasm2/jitter/loader/pe.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/jitter/loader/pe.py b/miasm2/jitter/loader/pe.py
index 168a5e7d..1c811101 100644
--- a/miasm2/jitter/loader/pe.py
+++ b/miasm2/jitter/loader/pe.py
@@ -157,8 +157,10 @@ def vm_load_pe(vm, fdata, align_s=True, load_hdr=True, **kargs):
         for section in pe.SHList:
             data = str(section.data)
             data += "\x00" * (section.size - len(data))
-            vm.add_memory_page(pe.rva2virt(section.addr),
-                               PAGE_READ | PAGE_WRITE, data)
+            attrib = PAGE_READ
+            if section.flags & 0x80000000:
+                attrib |= PAGE_WRITE
+            vm.add_memory_page(pe.rva2virt(section.addr), attrib, data)
 
         return pe