Windows下可执行程序PE相关

2020-04-24  本文已影响0人  写个代码容易么

PE里面有两个重要的概念:
基地址(BaseAddress):PE文件被装载内存时其进程地址空间的起始地址就是基地址。优先装载基地址为PE文件头中的ImageBase。对于EXE程序来说,ImageBase默认为0x00400000,对于DLL来说,ImageBase默认为0x10000000。Windows系统在装载DLL时会尝试把它装载到ImageBase指定的虚拟地址,如果改地址被占用,则装载器选择其他空闲地址。
相对地址(RVA,Relative Virtual Address):相对于基地址的偏移地址,如果一个EXE被装载到0x00400000地址,那么RVA为0x1000的地址为0x00400000+0x1000=0x00401000

EXE的默认基地址 DLL的默认基地址

Windows下获取进程基地址代码

上一篇下一篇

猜你喜欢

热点阅读