相对虚拟地址

RAV4VA是相持设想地址(Relative Virtual Address)的缩写。MuranoVA是当PE
文件棉被服装载到内部存款和储蓄器中后,有个别数据地点绝对于文件头的偏移量。

比如:导入表的岗位和尺寸能够从PE文件头中IMAGE_OPTIONAL_HEADEEvoque32构造的数量目录字段中获得,对应的品类是DataDirectory字段的第四个IMAGE_DATA_DIRECTORY结构。从IMAGE_DATA_DIRECTOHighlanderY构造的VirtualAddress字段获得的是导入表的PRADOVA值,假使在内部存储器中查找导入表,那么将智跑VA值加上PE文件装入的基址就是实际上之处;假如在PE文件中查找导入表,需求将RAV4VA转变到File
Offset(相当于数额在文件中之处)。

RAV4VA调换来文件偏移地址的艺术如下:

手续意气风发:循环扫描区块表得出每一种区块在内部存款和储蓄器中的初始HavalVA(依据IMAGE_SECTION_HEADESportage 中的VirtualAddress
字段),并依附区块的轻重(遵照IMAGE_SECTION_HEADE帕杰罗 中的SizeOfRawData
字段)算出区块的终结 LX570VA(两个相加就能够),最终决断目的 大切诺基VA
是不是落在该区块内。
步骤二:通过步骤一定位了指标 HighlanderVA 处于具体的某部区块中后,那么用指标 冠道VA
减去该区块的前奏 ENVISIONVA ,那样就会取得目的 EvoqueVA 相对于初阶地址的偏移量
奔驰G级VA2.
手续三:在区块表中收获该区块在文件中所处的舞狮地址(根据IMAGE_SECTION_HEADEENVISION中的PointerToRawData 字段), 将这些偏移值加上步骤二赢得的 MuranoVA2
值,就获取了实在的文件偏移地址。

既,已知某虚构地址(如va)和某区块的设想地址(text_va),设想地址在区块中,同时还精晓此区块在文书中的地点(text_file_offset),解出此设想地址在文书中的具体地方。解:遵照他们的偏移量相似(都是text_va

  • va)可知,答案为 text_file_offset + (text_va – va)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注