云顶娱乐手机官网-云顶娱乐网址

热门关键词: 云顶娱乐手机官网,云顶娱乐网址

(转)RVA-相对虚拟地址解释

2019-11-07 作者:网络操作   |   浏览(99)

  内部存款和储蓄器管理器能够使进度在其实唯有512MB物理内部存款和储蓄器之处下使进度“以为”自个儿独具4GB内部存款和储蓄器(当中富含代码, 栈空间,财富区,动态链接库等卡塔尔国。

 

图片 1

|  .rsrc   00004000   000003A0  00000A00  00000400  C0000040|

  标准PE文件日常包括:.text(编写翻译器发生,存放二进制代码, 反汇编和调治的指标卡塔 尔(阿拉伯语:قطر‎、.data(开首化数据块卡塔 尔(英语:State of Qatar)、.idata(使用的外来函数如动态链接库与公事音讯)、.rsrc(存放程序财富卡塔 尔(英语:State of Qatar),还包涵此外如.reloc、.edata、.tls、.rdata等。

+---------+---------+---------+---------+---------+---------+

  Windows内部存款和储蓄器:1.物理内部存款和储蓄器层面;2.虚构内部存款和储蓄器层面。

+---------+---------+---------+---------+---------+---------+

  装载PE文件时,文件偏移地址(磁盘上卡塔 尔(阿拉伯语:قطر‎与SportageVA(内部存款和储蓄器上卡塔尔国有不小意气风发致性(操作系统会尽量保证PE中各数据结构卡塔尔国,那未有差距会有细微差别,由文件数量和内部存款和储蓄器数据的存放单位分裂产生。

>>>>>>FileOffsetToVa( 文件偏移地址转设想地址)

  在举办File Offset和VA换算时,会由存储单位引起节基址差称为节偏移。举例:

+---------+---------+---------+---------+---------+---------+

  可清楚为: 实际 = 基点 + 位移.

如VA = 00401325,则:

  一些PE工具也提供这类地址转变:Lord PE.

|  段名称   设想地址  虚构大小  物理地址  物理大小   标识   |

  FileOffset = VA - Image Base -节偏移

|  .rdata  00002000   000000F6  00000600  00000200  40000040|

        VA = Image Base + RVA;

 

        = VA - Image Base - (绝对虚构偏移量 - 文件偏移量卡塔 尔(英语:State of Qatar)

VENVISIONk = VOffset - ROffset = 00001000 - 00000400 = C00 (得出文件设想地址和文书物理址之间的V英菲尼迪Q60k值)

  可实施文件:包括二进制代码,字符串,菜单,Logo,位图字体等。

文件设想偏移地址和文书物理偏移地址的总括公式如下:

  运维时操作系统会按PE文件的预定定位能源并装载入内部存款和储蓄器。可实践文件 ——>拆分——>若干数目节<——不一样的财富。

如FileOffset = 435(文件偏移地址)

      文件偏移量 = 0x00404141 - 0x00400000(暗中认可的Image Base卡塔尔国-(0x1000 - 0x400)(代码存于.text文件中卡塔尔国 = 0x3541

VA = FileOffset + ImageBase + V奇骏k = 435 + 00400000 + C00 = 00401035(虚构地址)

  按上表,比方计算设想内存中0x00404141处的一条指令,要换算出该指令在文书中的偏移量:

|  .text   00001000   00000092  00000400  00000200  60000020|

设想内部存款和储蓄器:

 

《软件漏洞深入分析技能》笔记

FileOffset = VA - ImageBase - VRk = 00401325 - 00400000 - C00 = 725

  (4卡塔尔国.相对虚拟地址(Relative Virtual Address,CRUISERVA卡塔 尔(阿拉伯语:قطر‎:内部存款和储蓄器地址相对于映射基址(即装载基址卡塔尔的偏移量。

 

 =_=..

PE文件中冒出讴歌RDXVA的 概念是因为PE的内部存款和储蓄器影象和磁盘文件映疑似分歧的,同意气风发数据相对于文件头的偏移量在内部存款和储蓄器卯月在磁盘文件中大概是例外的,为了升高效用,PE文件头中使用的 都以内存影像中的偏移量,也正是EnclaveVA。从图17.3中也得以获取另叁个定论,那正是CRUISERVA仅仅是对于处于节中的数据来说的,对于文本头和节表来讲无所谓RAV4VA和文书偏移,因为它们在被映射到内部存款和储蓄器中后无论是高低如故摇头都不会有其余变动。

  则有:

|  Name     VOffset    VSize    ROffset    RSize      Flags |

  PE(Portable Executable卡塔 尔(阿拉伯语:قطر‎是win32阳台下可进行遵循的数量格式。平时广大的举个例子*.exe和*.dll都是PE文件。

 

  默许情况下:日常PE文件的0字节 =》虚构内部存款和储蓄器0x00400000地方,即所谓的装载地方。

源文档 <>

  那么就足以测算出:

 

PE文件:

2、汇编中设想地址(VRA)与公事偏移地址(FileOffset)的竞相转换:

  在PE文件中,以磁盘数据标准存放(大家理解硬盘以多个section为骨干单位,即512byte卡塔 尔(阿拉伯语:قطر‎,0x200字节,当一个数据节不足0x200字节时填充0x00;

RubiconVA是绝对虚构地址(Relative Virtual Address卡塔尔国的缩写,看名就可知意思,它是三个“相对”地址,也足以说是“偏移量”,PE文件的种种数据结构中提到到地点的字段当先54%都以以翼虎VA代表的。

  (2卡塔尔.装载基址(Image Base卡塔 尔(阿拉伯语:قطر‎:PE装入内存时的营地址。暗中认可EXE文件在内部存款和储蓄器中的基地址为0x00400000,DLL为0x10000000。当然地方可由编写翻译选项改良。

>>>>>>>VaToFileOffset( 设想地址转文件偏移地址)

 

正确地说,LANDVA正是当PE文件棉被服装载到内部存储器中后,有些数据的职责相对于文件头的偏移量。比方,借使Windows装载器将二个PE文件装入 00400000h处的内部存款和储蓄器中,而有个别节中的某些数据棉被服装入0040xxxxh处,那么那么些数据的宝马7系VA正是(0040xxxxh- 00400000h卡塔尔国=xxxxh,反过来讲,将讴歌RDXVA的值加上文件棉被服装载的营地址,就足以找到数据在内存中的骨子里地址。

  那万意气风发有顾客供给抽出超超过实际际金额数怎么做,操作系统原理中有“虚构内部存款和储蓄器”概念, 即在此种场合下一时会将“部分硬盘空间”临时作为内部存款和储蓄器使用。(两个“虚构内部存款和储蓄器“概念对象不相同,不宜同日来讲卡塔尔

ImageBase = 00400000 (基地址)

  物理内部存款和储蓄器平时内核等级ring0技术收看;经常客户情势下看到的为Windows客户态内存映射机制下的虚构内部存款和储蓄器。

|  .data   00003000   0000018E  00000800  00000200  C0000040|

 

FileOffset = VA - ImageBase - VKoleosk = 00401000 - 00400000 - C00 = 400(文件物理地址的偏移地址)

图片 2

如VA = 00401000 (设想地址)

  (1卡塔尔.文件偏移地址(File Offset卡塔尔:数据在PE文件中的地址,在磁盘上寄放时相对于文件初阶的偏移。

+---------+---------+---------+---------+---------+---------+

  (3卡塔 尔(阿拉伯语:قطر‎.虚构内部存款和储蓄器地址(Virtual Address,VA卡塔 尔(阿拉伯语:قطر‎:PE文件中的指令棉被服装入内部存款和储蓄器后的地点。

  这种情景和实在生活中国际清算银行行行平常,你须要用的钱其实并不等于你有着的财物,银行其实持有的金额数稍差于全数储户的能源和。

PE文件与虚构内部存款和储蓄器之间的投射

图片 3

  VA、Image Base、ENCOREVA之间关系:

 

  而在内部存款和储蓄器中,则以0x1000字节(4byte卡塔尔国为中央单位开展集体,别的与前边贰个肖似。

本文由云顶娱乐手机官网发布于网络操作,转载请注明出处:(转)RVA-相对虚拟地址解释

关键词: