ffyouxi 发表于 2007-11-5 08:21:28

虚拟地址和偏移量转换

小弟刚接触破解,什么都不懂,就看了些教程,上面说


“先说一下虚拟地址和偏移量转换的问题,在SoftICE和W32Dasm下显示的地址值是所谓的内存地址(memory offset),或称之为虚拟地址(Virual Address,VA)。而十六进制工具里,如:Hiew、Hex Workshop等显示的地址就是文件地址,称之为偏移量(File offset) 或物理地址(RAW offset)。 所以当我们要通过那些十六进制工具来对可执行文件中的相应指令进行修改的话,先要找到它的File offset。我们没有必要去使用那些专门的转换工具,在W32Dasm中就有这个功能,比如说你W32Dasm中来到0045123D处,在W32Dasm界面下方的状态栏中”


问题来了
1、 在W32Dasm中为 @offset0015BE18h    (h是16进制,我知道)
2、然后要ultraedit中修改这个物理地址,他要求输入的16进制数为0xXXXXX格式的。

怎么把W32Dasm中为 @offset0015BE18h转换成ultraedit中要求的?是不是有什么公式?
希望各位提点下小弟。

[ 本帖最后由 ffyouxi 于 2007-11-5 09:37 编辑 ]

tigerisme 发表于 2007-11-5 09:16:25

引用小虾的一段解释:
在DFCG回答过,再转过来吧。

+---------+---------+---------+---------+---------+---------+
|段名称   虚拟地址虚拟大小物理地址物理大小   标志   |
+---------+---------+---------+---------+---------+---------+
|Name   VOffset    VSize    ROffset    RSize      Flags |
+---------+---------+---------+---------+---------+---------+
|.text   00001000   00000092000004000000020060000020|
|.rdata00002000   000000F6000006000000020040000040|
|.data   00003000   0000018E0000080000000200C0000040|
|.rsrc   00004000   000003A000000A0000000400C0000040|
+---------+---------+---------+---------+---------+---------+
文件虚拟偏移地址和文件物理偏移地址的计算公式如下:

>>>>>>>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转换。。。

lynn 发表于 2007-11-5 22:18:47

版主太热心了~~

streamload 发表于 2007-11-6 15:08:57

学习一下,板主辛苦了..

iawen 发表于 2007-11-6 15:22:00

学习版主的精神,支持楼主

hnld 发表于 2008-1-4 17:00:31

请问版主引用的那遍文章是在那个地方啊。

菜儿 发表于 2008-1-4 17:49:28

虚拟偏移地址转换工具:https://www.chinapyg.com/viewthread.php?tid=24847&extra=page%3D1&frombbs=1

jicket 发表于 2012-3-29 17:26:26

{:tongue:}
页: [1]
查看完整版本: 虚拟地址和偏移量转换