zoukankan      html  css  js  c++  java
  • 请问如何将偏移量转换为地址?

    请问如何将偏移量转换为地址?

      我在使用软件定位木马特征码的时候,只得到偏移量,为什么有的人用OD转到偏移量,但我用OD的时候,显示没有这个偏移量的,请问如何将偏移量转换为地址? 

     

    在DFCG回答过,再转过来吧。

    +---------+---------+---------+---------+---------+---------+
    |  段名称   虚拟地址  虚拟大小  物理地址  物理大小   标志   |
    +---------+---------+---------+---------+---------+---------+
    |  Name     VOffset    VSize    ROffset    RSize      Flags |
    +---------+---------+---------+---------+---------+---------+
    |  .text   00001000   00000092  00000400  00000200  60000020|
    |  .rdata  00002000   000000F6  00000600  00000200  40000040|
    |  .data   00003000   0000018E  00000800  00000200  C0000040|
    |  .rsrc   00004000   000003A0  00000A00  00000400  C0000040|
    +---------+---------+---------+---------+---------+---------+
    文件虚拟偏移地址和文件物理偏移地址的计算公式如下:

    >>>>>>>VaToFileOffset(虚拟地址转文件偏移地址)
    如VA = 00401000 (虚拟地址)
    ImageBase = 00400000 (基地址)
    VRk = VOffset - ROffset = 00001000 - 00000400 = C00 (得出文件虚拟地址和文件物理址之间的VRk值)
    FileOffset = VA - ImageBase - VRk = 00401000 - 00400000 - C00 = 400(文件物理地址的偏移地址)

    如VA = 00401325,则:
    FileOffset = VA - ImageBase - VRk = 00401325 - 00400000 - C00 = 725

    >>>>>>FileOffsetToVa(文件偏移地址转虚拟地址)
    如FileOffset = 435(文件偏移地址)
    VA = FileOffset + ImageBase + VRk = 435 + 00400000 + C00 = 00401035(虚拟地址)

     

    小虾讲的不错,再给楼主一张图理解一下:

     

     

    用工具PETools或LordPE转换。。。

     

    这里不分新手区、高手区,只按讨论内容分类。
    区段的间隙,你用LordPE打开一个PE,再配合十六进制工具,就会明白了。间隙那段空间全是0.

     

    用LordPE查看区块后面部分.
    因为区块都是对齐的,磁盘上对齐值一般是0x200或0x1000,如果某个区块中的有效数据大小是0x160,而为了对齐,区块的大小是x200,则0x160到0x200之间就是间隙.
    说的很抽象的,你用实例操作一下,再结合上面的图自己分析一下就会很清楚的。

     

  • 相关阅读:
    Vue核心之数据劫持
    Flex 布局教程
    Grid布局
    我们都在深夜,参差不齐地入眠
    一个十分好用的动画工具:Velocity.js
    前端知识点总结——jQuery(下)
    前端知识点总结——jQuery(上)
    虫师Selenium2+Python_2、测试环境搭建
    虫师Selenium2+Python_11、自动化测试项目实战
    虫师Selenium2+Python_12、BDD框架之Lettuce入门
  • 原文地址:https://www.cnblogs.com/adylee/p/9932018.html
Copyright © 2011-2022 走看看