1、PE文件格式
PE(Portable Executable)是win32平台下可执行文件(如exe和dll文件)都是典型的PE文件
PE文件分为好多个节,比如.text,.data等
2、参数解析
硬盘地址:PE文件中的地址,是实际的对应硬盘的地址。(即实际地址)
内存地址:运行代码时,显示的地址是虚拟的地址(即内存地址)
映射基址(Image Base),初始化时内存的地址
内存虚拟地址(Virtual Address)存储到内存的地址
相对虚拟地址(Relative Virtual Address),虚拟内存地址相对于映射基址的偏移量
VA=Image Base+RVA
映射基址一般是0x04000000
RVA和文件偏移是相同的,除了存储的单位不同。
RVA 0x1000
文件偏移 0x200
都是按节进行,节的数据超出就单位+1,不足就被补全。
由于存储单位差异引起的节基址差称做节偏移。
文件偏移地址=虚拟内存地址(VA)-装载基址(Image Base)-节偏移=RVA-节偏移
3、工具:
Lord PE地址转换