[發明專利]熱補丁處理方法及裝置在審
| 申請號: | 201410139346.X | 申請日: | 2014-04-08 |
| 公開(公告)號: | CN103885808A | 公開(公告)日: | 2014-06-25 |
| 發明(設計)人: | 張聰;鄭文彬 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京鼎佳達知識產權代理事務所(普通合伙) 11348 | 代理人: | 王偉鋒;劉鐵生 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 補丁 處理 方法 裝置 | ||
1.一種熱補丁處理方法,其特征在于,包括:
監測是否有新的程序模塊加載;
若有,則獲取所述程序模塊對應的補丁信息;
在所述程序模塊運行之前,根據所述補丁信息,對所述程序模塊進行熱補丁處理。
2.根據權利要求1所述的方法,其特征在于,所述獲取所述程序模塊對應的補丁信息,包括:
提取所述程序模塊的特征信息;
根據預設的特征信息及補丁信息的對應關系,獲取所述特征信息對應的補丁信息。
3.根據權利要求1或2所述的方法,其特征在于,所述補丁信息包括:補丁函數地址和被補丁函數地址;相應的,
所述在所述程序模塊運行之前,根據所述補丁信息,對所述程序模塊進行熱補丁處理,包括:
在所述程序模塊運行之前,根據所述補丁函數地址和所述被補丁函數地址,構造跳轉指令;
將所述程序模塊中所述被補丁函數地址處的指令替換為所述跳轉指令。
4.根據權利要求3所述的方法,其特征在于,所述在所述程序模塊運行之前,根據所述補丁信息,對所述程序模塊進行熱補丁處理之后,還包括:
執行所述程序模塊,并在執行過程中當調用到所述程序模塊中所述被補丁函數地址處的指令時,根據所述跳轉指令跳轉到所述補丁函數地址處的補丁函數,執行所述補丁函數。
5.根據權利要求1或2所述的方法,其特征在于,還包括:
獲取添加鉤子Hook函數的地址,其中,所述Hook函數用于監測是否有新的程序模塊加載;
在所述地址處掛接所述Hook函數。
6.一種熱補丁處理裝置,其特征在于,包括:
監測模塊,用于監測是否有新的程序模塊加載;
第一獲取模塊,用于當所述監測模塊監測到有新的程序模塊加載時,獲取所述程序模塊對應的補丁信息;
處理模塊,用于在所述程序模塊運行之前,根據所述補丁信息,對所述程序模塊進行熱補丁處理。
7.根據權利要求6所述的熱補丁處理裝置,其特征在于,所述第一獲取模塊包括:
提取單元,用于提取所述程序模塊的特征信息;
獲取單元,用于根據預設的特征信息及補丁信息的對應關系,獲取所述特征信息對應的補丁信息。
8.根據權利要求6或7所述的熱補丁處理裝置,其特征在于,所述補丁信息包括:補丁函數地址和被補丁函數地址;相應的,所述處理模塊包括:
構造單元,用于在所述程序模塊運行之前,根據所述補丁函數地址和所述被補丁函數地址,構造跳轉指令;
替換單元,用于將所述程序模塊中所述被補丁函數地址處的指令替換為所述跳轉指令。
9.根據權利要求8所述的熱補丁處理裝置,其特征在于,還包括:
執行模塊,用于執行所述程序模塊,并在執行過程中當調用到所述程序模塊中所述被補丁函數地址處的指令時,根據所述跳轉指令跳轉到所述補丁函數地址處的補丁函數,執行所述補丁函數。
10.根據權利要求6或7所述的熱補丁處理裝置,其特征在于,還包括:
第二獲取模塊,用于獲取添加鉤子Hook函數的地址,其中,所述Hook函數用于監測是否有新的程序模塊加載;
掛接模塊,用于在所述地址處掛接所述Hook函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410139346.X/1.html,轉載請聲明來源鉆瓜專利網。





