RAV to RAW
作者:互联网
RAV to RAW
学习《逆向工程核心原理》笔记
参考:https://tech-zealots.com/malware-analysis/understanding-concepts-of-va-rva-and-offset/
名词介绍
Relative Virtual Address (RVA)
VA指的是虚拟内存绝对地址
Relative Virtual Address (RVA)
指从某个基准位置(ImageBase)开始的相对地址
File Offsets(RAW)
文件偏移
RVA可以理解为内存偏移;RAW可以理解为文件偏移
RVA计算
RVA = VA – ImageBase
PS:
Virtual Address = 0x00401000
ImageBase = 0x00400000
RVA = 0x00001000
RAV to RAW
Offset of entry point in EXE file = (AddressOfEntryPoint – .section[VirtualAddress]) + .section[PointerToRawData]
注意
RVA计算中的VA是RVA的虚拟地址,这章里的的VA是section
的VA
RVA = 5000,FIle Offset = ?
-
寻找RAW所在节区
RVA的VA地址
= 5000(RVA) + 1000000(ImageBase) = 1005000通过
表2
可以知道RVA在.text
节区 -
计算RAW(FIle Offset)
RAW = 5000(RAW) - 1000(
section的VA地址
) + 400(section的PointerToRawData) = 4400section的VA地址:查
表1
PointerToRawData :指针偏移
标签:VA,RVA,ImageBase,section,RAV,RAW,偏移 来源: https://www.cnblogs.com/murkuo/p/15838048.html