lingshan 发表于 2007-3-13 18:42:27

请问“偏移地址”是什么意思?

在查找VB程序的字符串时,所使用的汉化工具中显示的是偏移地址。
我不知道该如何使用偏移地址找到字符串位置,也就是说该如何利用偏移地址进行破解。
请高手指教。

飘渺峰 发表于 2007-3-13 20:35:33

不会...
偶是超级菜鸟..
小学文化...:L /fad

wzwgp 发表于 2007-3-13 20:57:44

在W32DASM下将绿色的光条移到某一行代码上,在窗口底部可看到    例如@:00418016 @:Offset 00000416h 第一个@指示行地址(虚拟地址),@00418016 与W32DASM光条所在行的第一列相同 第二个@指示实际修改地址(偏移地址),@Offset 00000416h h表示十六进制 offset的英文意思是偏移



转自《看雪论坛》

+-------------+-------------+-------------+-------------+-------------+-------------+
|段名称      虚拟地址   虚拟大小物理地址    物理大小      标志   |
+-------------+-------------+-------------+-------------+-------------+-------------+
|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( 虚拟地址)

[ 本帖最后由 wzwgp 于 2007-3-13 21:06 编辑 ]

lingshan 发表于 2007-3-14 19:20:03

原帖由 wzwgp 于 2007-3-13 20:57 发表
在W32DASM下将绿色的光条移到某一行代码上,在窗口底部可看到    例如@:00418016 @:Offset 00000416h 第一个@指示行地址(虚拟地址),@00418016 与W32DASM光条所在行的第一列相同 第二个@指示实际修改地址(偏移地址 ...

首先多谢高手指点。但再请问,我该如何快速的通过偏移地址定位虚拟地址,从而找到关键点呢?

qing0408 发表于 2007-4-5 12:20:18

学习,受教了/:01 /:01 /:01

yjz1409276 发表于 2007-6-9 23:38:44

原帖由 wzwgp 于 2007-3-13 20:57 发表 https://www.chinapyg.com/images/common/back.gif
在W32DASM下将绿色的光条移到某一行代码上,在窗口底部可看到    例如@:00418016 @:Offset 00000416h 第一个@指示行地址(虚拟地址),@00418016 与W32DASM光条所在行的第一列相同 第二个@指示实际修改地址(偏移地址 ...
朋友的那个图不错啊~好多东西看文字太抽象,来张图就好多了.哪里弄的图哦?/:09

spc_cll 发表于 2007-6-18 18:44:45

查看一下PE文件格式,会学到更多东西的

wen502 发表于 2007-6-23 12:01:01

好难懂啊.......
页: [1]
查看完整版本: 请问“偏移地址”是什么意思?