当我们从内存中转储PE(MODULE / Process)时为什么在没有取消映射的情况下不执行它?
内存中的PE发生了哪些变化,导致无法直接执行?
答案 0 :(得分:0)
执行前必须进行映射,因为您无法预测内存中每个DLL和其他资源的地址,以及程序中动态分配的内存的结果地址。
PE文件头告诉操作系统如何分配.text
和.data
内存段。
回到80年代和90年代初,你可以回想起.COM
个文件。这些复制和执行的内存副本(%EIP指向它的地址)是直接的,因为那里限制为64kb的.text数据。