學家電維修網

 找回密碼
 真誠注冊

QQ登錄

只需一步,快速開始

搜索
查看: 129|回復: 0
打印 上一主題 下一主題
收起左側

Windows 網絡編程: 地址轉換器

[復制鏈接]
跳轉到指定樓層
1#
發表于 2019-2-7 16:18:44 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
Windows 網絡編程: 地址轉換器
PE文件有3種地址,分別是VA(虛擬地址)、RVA(相對虛擬地址)和FileOffset(文件偏移地址)。3種地址轉換如果始終使用手動來計算那是非常累的,因此通常的做法是借助工具來完成。可以使用LordPE來計算這3種地址的轉換,現在來編寫一個對這3種地址進行轉換的工具。該工具如圖1所示。
圖1  地址轉換器
在進行計算的時候,先進行“查看”,然后再進行“計算”。否則,該獲取的指針還沒有獲取到。

在界面上,左邊的3個按鈕是“單選框”,單選框的設置方法如圖2所示。
圖2  對單選框的設置
3個單選框中只能有一個是選中狀態,為記錄哪個單選框是選中狀態,在類中定義一個成員變量m_nSelect。分別對3個單選框使m_nSelect為1、2和3三個值。下面來看主要的代碼。

在單擊“計算”按鈕后,響應該按鈕的代碼如下:
分別看一下GetAddr()、GetAddrInSecNum()和CalcAddr()的實現。

獲取在編輯框中輸入的地址內容的代碼:
獲取該地址所屬的第幾個節的代碼:
計算其他地址的代碼:
代碼都不復雜,關鍵就是在CalcAddr()中3種地址的轉換。地址轉換小工具的編寫就介紹到這里。


您需要登錄后才可以回帖 登錄 | 真誠注冊

本版積分規則

QQ|家電維修|門戶地圖|論壇地圖|手機版|家電維修社 ( 浙ICP備08013691號-1 )

GMT+8, 2019-8-6 06:45 , Processed in 0.128385 second(s), 22 queries .

快速回復 返回頂部 返回列表
澳洲幸运8福彩中心