[發(fā)明專利]熱補丁實現(xiàn)方法及通信設備有效
| 申請?zhí)枺?/td> | 201710582244.9 | 申請日: | 2017-07-17 |
| 公開(公告)號: | CN107357622B | 公開(公告)日: | 2020-09-22 |
| 發(fā)明(設計)人: | 李斌 | 申請(專利權)人: | 邁普通信技術股份有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/30 |
| 代理公司: | 北京超凡志成知識產(chǎn)權代理事務所(普通合伙) 11371 | 代理人: | 蘇勝 |
| 地址: | 610000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 補丁 實現(xiàn) 方法 通信 設備 | ||
1.一種熱補丁實現(xiàn)方法,應用于通信設備,其特征在于,所述通信設備安裝有補丁文件以及被補丁程序,所述被補丁程序中包括有補丁跳轉(zhuǎn)中間函數(shù)以及被補丁函數(shù),所述補丁文件中包括有補丁函數(shù),其中,所述補丁跳轉(zhuǎn)中間函數(shù)中配置有長跳轉(zhuǎn)指令,所述被補丁函數(shù)的入口處配置有短跳轉(zhuǎn)指令,且所述補丁跳轉(zhuǎn)中間函數(shù)預留在所述被補丁程序中;所述方法包括:
所述被補丁函數(shù)在接收到執(zhí)行指令時,根據(jù)所述短跳轉(zhuǎn)指令跳轉(zhuǎn)至所述補丁跳轉(zhuǎn)中間函數(shù)的長跳轉(zhuǎn)指令處,并通過所述長跳轉(zhuǎn)指令跳轉(zhuǎn)至所述補丁函數(shù),以執(zhí)行所述補丁函數(shù),其中,所述補丁函數(shù)為對所述被補丁函數(shù)進行修補的函數(shù)。
2.根據(jù)權利要求1所述的熱補丁實現(xiàn)方法,其特征在于,所述方法還包括:
在對所述被補丁程序進行編譯時將被補丁函數(shù)的外部符號添加到動態(tài)符號表中,以使編譯后的所述外部符號能夠被動態(tài)鏈接庫重定位;
對所述補丁函數(shù)進行編譯,以使編譯后的補丁函數(shù)能夠重定位所述外部符號;
在接收到補丁函數(shù)的激活指令時,加載所述補丁函數(shù)并重定位所述外部符號。
3.根據(jù)權利要求2所述的熱補丁實現(xiàn)方法,其特征在于,所述對所述補丁函數(shù)進行編譯的步驟,包括:
配置補丁函數(shù)替換表;
根據(jù)所述補丁函數(shù)替換表和所述補丁函數(shù)生成補丁目標源文件,其中,所述補丁函數(shù)替換表包含所述補丁函數(shù)與所述被補丁函數(shù)的對應關系;
對所述補丁目標源文件進行編譯以生成動態(tài)鏈接庫格式的補丁文件。
4.根據(jù)權利要求1所述的熱補丁實現(xiàn)方法,其特征在于,所述方法還包括:
在所述被補丁程序中配置至少一個補丁跳轉(zhuǎn)中間函數(shù),所述補丁跳轉(zhuǎn)中間函數(shù)用于存放長跳轉(zhuǎn)指令。
5.根據(jù)權利要求1所述的熱補丁實現(xiàn)方法,其特征在于,所述方法還包括:
構建所述長跳轉(zhuǎn)指令和所述短跳轉(zhuǎn)指令;
所述構建所述長跳轉(zhuǎn)指令和所述短跳轉(zhuǎn)指令的步驟,包括:
獲取被補丁函數(shù)、補丁跳轉(zhuǎn)中間函數(shù)和補丁函數(shù)的地址;
根據(jù)所述被補丁函數(shù)、補丁跳轉(zhuǎn)中間函數(shù)及補丁函數(shù)的地址構建所述被補丁函數(shù)到跳轉(zhuǎn)中間函數(shù)的短跳轉(zhuǎn)指令,及所述跳轉(zhuǎn)中間函數(shù)到補丁函數(shù)的長跳轉(zhuǎn)指令。
6.根據(jù)權利要求5所述的熱補丁實現(xiàn)方法,其特征在于,所述方法還包括:
定義補丁函數(shù)地址全局變量,其中,所述補丁函數(shù)地址全局變量存放在寄存器中,并用于存放補丁函數(shù)地址。
7.根據(jù)權利要求6所述的熱補丁實現(xiàn)方法,其特征在于,構建所述跳轉(zhuǎn)中間函數(shù)到補丁函數(shù)的長跳轉(zhuǎn)指令的步驟,包括:
在所述補丁跳轉(zhuǎn)中間函數(shù)中添加寄存器跳轉(zhuǎn)指令;
將所述補丁函數(shù)的地址賦給所述補丁函數(shù)地址全局變量以完成所述長跳轉(zhuǎn)指令的構建。
8.根據(jù)權利要求5所述的熱補丁實現(xiàn)方法,其特征在于,構建所述跳轉(zhuǎn)中間函數(shù)到補丁函數(shù)的長跳轉(zhuǎn)指令的步驟,還包括:
將補丁函數(shù)地址寫入寄存器;
在所述補丁函數(shù)地址寫入所述寄存器后,構建寄存器跳轉(zhuǎn)指令,以根據(jù)所述寄存器跳轉(zhuǎn)指令完成所述長跳轉(zhuǎn)指令的構建。
9.根據(jù)權利要求8所述的熱補丁實現(xiàn)方法,其特征在于,所述將補丁函數(shù)地址寫入所述寄存器的步驟,包括:
將所述補丁函數(shù)的地址分解為十六進制高四位地址、十六進制中間四位地址以及十六進制低四位地址;
將所述十六進制高四位地址填入寄存器高十六位,低十六位補0;
將所述十六進制中間四位地址與所述寄存器的內(nèi)容進行或操作;
將所述寄存器的內(nèi)容邏輯左移十六位;
將所述十六進制低四位地址與所述寄存器的內(nèi)容進行或操作,以完成所述補丁函數(shù)地址的寫入。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于邁普通信技術股份有限公司,未經(jīng)邁普通信技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710582244.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置





