請問如何將偏移量轉換為地址?
阿新 • • 發佈:2018-11-08
請問如何將偏移量轉換為地址?
我在使用軟體定位木馬特徵碼的時候,只得到偏移量,為什麼有的人用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之間就是間隙.
說的很抽象的,你用例項操作一下,再結合上面的圖自己分析一下就會很清楚的。