[發明專利]一種DLL基地址優化方法、系統及應用程序加載方法、系統在審
| 申請號: | 201710470065.6 | 申請日: | 2017-06-20 |
| 公開(公告)號: | CN108255537A | 公開(公告)日: | 2018-07-06 |
| 發明(設計)人: | 庫宇 | 申請(專利權)人: | 廣州華多網絡科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 511442 廣東省廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 加載 目標應用程序 基地址 應用程序加載 模擬過程 虛擬地址 應用程序 符號表 優化 重定位過程 修復 磁盤文件 獲取目標 重定位 更新 申請 寫入 | ||
1.一種DLL基地址優化方法,其特征在于,所述方法中的步驟為在加載目標應用程序之前進行的步驟,包括:
確定出與所述目標應用程序對應的DLL文件,得到目標DLL文件;
對所述目標DLL文件的重定位過程進行模擬,并在本次模擬過程中對所述目標DLL文件的首選基地址進行更新,然后將更新后的首選基地址寫入相應的DLL磁盤文件中;
對所述目標應用程序的加載過程進行模擬,并本次模擬過程中獲取所述目標DLL文件的導入符號虛擬地址,然后利用所述導入符號虛擬地址對所述目標DLL文件的導入符號表進行相應的修復。
2.根據權利要求1所述的DLL基地址優化方法,其特征在于,所述對所述目標DLL文件的重定位過程進行模擬,并在本次模擬過程中對所述目標DLL文件的首選基地址進行更新,然后將更新后的首選基地址寫入相應的DLL磁盤文件中的過程,包括:
利用ReBase.exe工具,對所述目標DLL文件的重定位過程進行模擬,并在本次模擬過程中對所述目標DLL文件的首選基地址進行更新,然后將更新后的首選基地址寫入相應的DLL磁盤文件中。
3.根據權利要求2所述的DLL基地址優化方法,其特征在于,所述利用ReBase.exe工具,對所述目標DLL文件的重定位過程進行模擬,并在本次模擬過程中對所述目標DLL文件的首選基地址進行更新,然后將更新后的首選基地址寫入相應的DLL磁盤文件中的過程,包括:
利用所述ReBase.exe工具創建與所述目標DLL文件相適應的虛擬地址空間,然后在所述虛擬地址空間上對所述目標DLL文件的重定位過程進行模擬;
在本次模擬過程中從所述目標DLL文件里篩選出需要進行重定位的DLL文件,得到篩選后DLL文件;
將所述篩選后DLL文件在所述虛擬地址空間中的虛擬地址與所述篩選后DLL文件的首選基地址進行相加處理,以實現對所述DLL文件的首選基地址的更新,得到所述篩選后DLL文件的更新后的首選基地址;
將所述篩選后DLL文件的更新后的首選基地址寫入與所述篩選后DLL文件對應的DLL磁盤文件中。
4.根據權利要求1至3任一項所述的DLL基地址優化方法,其特征在于,所述對所述目標應用程序的加載過程進行模擬,并本次模擬過程中獲取所述目標DLL文件的導入符號地址,然后利用所述導入符號地址對所述目標DLL文件的導入符號表進行相應的修復的過程,包括:
利用Bind.exe工具,對所述目標應用程序的加載過程進行模擬,并本次模擬過程中獲取所述目標DLL文件的導入符號地址,然后利用所述導入符號地址對所述目標DLL文件的導入符號表進行相應的修復。
5.根據權利要求4所述的DLL基地址優化方法,其特征在于,所述利用Bind.exe工具,對所述目標應用程序的加載過程進行模擬,并本次模擬過程中獲取所述目標DLL文件的導入符號虛擬地址,然后利用所述導入符號虛擬地址對所述目標DLL文件的導入符號表進行相應的修復的過程,包括:
利用Bind.exe工具,從所述目標DLL文件的導入段中檢查每個DLL文件的文件頭,以確定出當前每個DLL文件的首選基地址;
從所述目標DLL文件的導出段中查看每個導入符號的基地址偏移值,然后對每個導入符號的基地址偏移值與相應DLL文件的首選基地址進行相加處理,得到相應的導入符號虛擬地址;
利用所述導入符號虛擬地址對所述目標DLL文件的導入符號表進行相應的修復。
6.一種DLL基地址優化系統,其特征在于,所述系統中的模塊為在加載目標應用程序之前運行的模塊,包括:
文件確定模塊,用于確定出與所述目標應用程序對應的DLL文件,得到目標DLL文件;
重定位模擬模塊,用于對所述目標DLL文件的重定位過程進行模擬,并在本次模擬過程中對所述目標DLL文件的首選基地址進行更新,然后將更新后的首選基地址寫入相應的DLL磁盤文件中;
程序加載模擬模塊,用于對所述目標應用程序的加載過程進行模擬,并本次模擬過程中獲取所述目標DLL文件的導入符號虛擬地址,然后利用所述導入符號虛擬地址對所述目標DLL文件的導入符號表進行相應的修復。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州華多網絡科技有限公司,未經廣州華多網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710470065.6/1.html,轉載請聲明來源鉆瓜專利網。





