WindowsPE 重定位表
作者:互联网
//@[comment("MVI_tracked")] typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD TypeOffset[1]; } IMAGE_BASE_RELOCATION; typedef IMAGE_BASE_RELOCATION UNALIGNED * PIMAGE_BASE_RELOCATION;
来看一个dll
重定位在4000 看节表
在 .reloc 块中
c00+4000-4000=c00 物理foa地址
可以看到前2个双字后 高位都是3 就是需要调整
3036,3040等 一共86个
转换被调用时真实地址就是 入口地址+基地址+虚低12地址 00 0 例如 0 36
这个dll 在内存中的重定位位置就是
10000000+1000+036 后面的85个都是这样的公式套用
标签:定位,4000,IMAGE,RELOCATION,地址,BASE,DWORD,WindowsPE 来源: https://www.cnblogs.com/feizianquan/p/15084251.html