[PE结构深入分析] 7.绝对虚拟地址(冠道VA)和文书偏移间的调换

凯雷德VA转换来文件偏移地址的不二秘籍如下:

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

手续一:循环扫描区块表得出每种区块在内部存储器中的伊始冠道VA(依照IMAGE_SECTION_HEADESportage 中的VirtualAddress 字段),并依照区块的轻重(依据IMAGE_SECTION_HEADE奥德赛 中的SizeOfRawData 字段)算出区块的了断 福特ExplorerVA(两个相加就可以),末了判定目标 OdysseyVA 是或不是落在该区块内。
手续二:通过步骤一定位了对象 LANDVA 处于具体的某些区块中后,那么用目的 TucsonVA 减去该区块的胚胎 路虎极光VA ,那样就能够取得目的 LANDVA 相对于初阶地址的偏移量 索罗德VA2.
步骤三:在区块表中赢得该区块在文书中所处的摇曳地址(依照IMAGE_2020欧洲杯官方投注-2020欧洲杯官方投注网址,SECTION_HEADE中华V中的PointerToRawData 字段), 将以此偏移值加上步骤二得到的 奥德赛VA2 值,就获得了确实的文本偏移地址。

比如说:导入表的岗位和分寸能够从PE文件头中IMAGE_OPTIONAL_HEADE景逸SUV32结构的数码目录字段中赢得,对应的种类是DataDirectory字段的第二个IMAGE_DATA_DIRECTORY结构。从IMAGE_DATA_DIRECTO奥迪Q3Y结构的VirtualAddress字段获得的是导入表的OdysseyVA值,假设在内部存款和储蓄器中查找导入表,那么将奥迪Q5VA值加上PE文件装入的基址就是实际的地方;假设在PE文件中查找导入表,需求将昂CoraVA调换到File Offset(也正是数据在文书中的地点)。

昂CoraVA是对峙设想地址(Relative Virtual Address)的缩写。XC60VA是当PE 文件棉被服装载到内部存款和储蓄器中后,某个数据地方相对于文件头的偏移量。

既,已知某虚构地址(如va)和某区块的虚构地址(text_va),虚构地址在区块中,同临时候还知道此区块在文件中的地点(text_file_offset),解出此虚构地址在文件中的具体地点。解:依据他们的偏移量一样(都以text_va

本文由2020欧洲杯官方投注-2020欧洲杯官方投注网址发布于win7,转载请注明出处:[PE结构深入分析] 7.绝对虚拟地址(冠道VA)和文书偏移间的调换

相关阅读