大哥们指点一下,为啥相对虚拟地址 100F 转换成 文件偏移地址是 60F 而不是40F,搞迷糊了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
PE 分为两种状态,第一种 内存状态, 第二种文件中存储的状态.内存对齐与文件对齐不一致才要进行转换1. 内存地址 - IMAGEBASE = rva 相对偏移地址. 计算出了 内存地址 距离imagebase的相对偏移. 但是我们不知到落入那个节中. 所以还需要计算出RVA 与节开始的 差值偏移2. RVA 判断落入那个节中 差值 = RVA - 节.VirtuallAddress3.差值偏移是固定的. 是距离这个节的偏移. 不管你是文件中也好. 内存中也好.都是一样的.4.如果是想要找内存转文件: 那么 FOA = 差值偏移 + 节.PointToRawData5.如果文件想转到内存. 1.判断在那个节中 2.计算出差值偏移 3.差值偏移 +节.VirtuallAddress = RVA 4.RVA + IMAGEBASE = VA详情参考我博客026K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8X3u0D9L8$3N6K6i4K6u0W2j5$3!0E0i4K6u0r3K9f1u0A6L8X3q4J5P5g2)9J5c8Y4m8Q4x3V1j5&6y4K6x3K6y4K6l9K6i4K6u0W2K9s2c8E0L8l9`.`.
无