about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2015-11-27 11:08:40 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2015-12-04 16:40:37 +0100
commita43701339a409b0c1cfbfbcae4a3d4a5f07fcea6 (patch)
tree08ced47df5c9bf7355a7ad07ffb03ab687cfeaed
parent7c74ea27685aabb51bf158b5ca13ce8fec147ef0 (diff)
downloadmiasm-a43701339a409b0c1cfbfbcae4a3d4a5f07fcea6.tar.gz
miasm-a43701339a409b0c1cfbfbcae4a3d4a5f07fcea6.zip
Loader/pe: fix load page rw
-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 aaa7a469..1e876b4e 100644
--- a/miasm2/jitter/loader/pe.py
+++ b/miasm2/jitter/loader/pe.py
@@ -144,8 +144,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