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之间就是间隙.
    说的很抽象的,你用实例操作一下,再结合上面的图自己分析一下就会很清楚的。

     

  • 相关阅读:
    创建线程的方式三:实现Callable接口
    线程通信的应用 经典例题: 生产者/消费者问题
    剑指offer-26 树的子结构
    leetcode-567 字符串排列
    剑指offer -11题
    leetcode
    移动端开发利器vConsole.js,app内嵌H5开发时调试用
    TCP/IP分为几层?各层的作用是什么?
    如何测试一支笔
    日志分析
  • 原文地址:https://www.cnblogs.com/adylee/p/9932018.html
Copyright © 2011-2022 走看看