一、全局变量
一个全局变量有初始值,那么它的初始值是存在PE中的
一个全局变量没有初始值,只有文件加载在内存中才会给它分配空间
二、RVA到FOA的转换:
<1> 得到RVA的值:内存地址 - ImageBase
<2> 判断RVA是否位于PE头中,如果是:FOA == RVA
<3> 判断RVA位于哪个节:
RVA >= 节.VirtualAddress
RVA <= 节.VirtualAddress + 当前节内存对齐后的大小
差值 = RVA - 节.VirtualAddress;
<4> FOA = 节.PointerToRawData + 差值;