[發明專利]一種代碼改動的檢測方法和裝置有效
| 申請號: | 201210504577.7 | 申請日: | 2012-11-30 |
| 公開(公告)號: | CN103077062A | 公開(公告)日: | 2013-05-01 |
| 發明(設計)人: | 李俊 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 廣州三環專利代理有限公司 44202 | 代理人: | 郝傳鑫;熊永強 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 代碼 改動 檢測 方法 裝置 | ||
1.一種代碼改動的檢測方法,其特征在于,所述方法包括:
為源代碼中待改動的函數添加標記,所述標記用于在所述源代碼編譯后得到的二進制文件中定位所述待改動的函數;
將所述源代碼編譯為二進制文件,根據所述標記獲取所述待改動的函數在所述二進制文件中的位置信息和重定位信息。
2.如權利要求1所述的方法,其特征在于,所述為源代碼中待改動的函數添加標記,包括:
創建包含外部接口的標記,所述標記為:代碼或提取信息的宏;
通過所述外部接口將所述標記添加到所述源代碼中待改動的函數。
3.如權利要求1所述的方法,其特征在于,所述根據所述標記獲取所述待改動的函數在所述二進制文件中的位置信息和重定位信息,包括:
執行所述標記以獲取所述待改動函數在所述二進制文件中的信息,將所述信息與二進制文件中的符號表進行對比,根據所述對比的結果得出所述待改動函數在所述二進制文件中的位置信息,所述待改動函數在所述二進制文件中的信息包括:所述待改動函數在所述二進制文件中的函數名、或所述待改動函數在所述二進制文件中的開始地址;
為所述待改動的函數增加編譯屬性,增加的所述編譯屬性用于將所述待改動的函數保存到所述二進制文件的獨立的段中,根據所述編譯屬性再次將所述源代碼編譯為二進制文件,以獲取所述待改動的函數在所述二進制文件中的重定位信息。
4.如權利要求3所述的方法,其特征在于,所述將所述信息與二進制文件中的符號表進行對比,根據所述對比的結果獲取所述待改動函數在所述二進制文件中的位置信息,包括:
如果所述信息為所述待改動函數在所述二進制文件中的函數名,則將所述待改動函數在所述二進制文件中的函數名與二進制文件中的符號表進行對比,以查詢得出所述待改動函數在所述二進制文件中的開始地址;
如果所述信息為所述待改動函數在所述二進制文件中的開始地址,則將所述待改動函數在所述二進制文件中的開始地址與二進制文件中的符號表進行對比,以查詢得出所述待改動函數在所述二進制文件中的函數名;
將所述待改動函數在所述二進制文件中的函數名和開始地址作為所述待改動函數在所述二進制文件中的位置信息。
5.一種代碼改動的檢測裝置,其特征在于,所述裝置包括:
標記添加單元,用于為源代碼中待改動的函數添加標記,所述標記用于在所述源代碼編譯后得到的二進制文件中定位所述待改動的函數;
編譯單元,用于將經過所述標記添加單元添加標記的源代碼編譯為二進制文件;
信息獲取單元,用于根據所述標記添加單元添加的標記獲取所述待改動的函數在在所述編譯單元編譯的二進制文件中的位置信息和重定位信息。
6.如權利要求5所述的裝置,其特征在于,所述標記添加單元具體包括:
標記創建子單元,用于創建包含外部接口的標記,所述標記為:代碼或提取信息的宏;
添加子單元,用于通過所述外部接口將所述標記創建子單元創建的標記添加到源代碼中待改動的函數。
7.如權利要求5所述的裝置,其特征在于,所述信息獲取單元具體包括:
位置信息獲取子單元,用于利用所述標記來獲取所述待改動函數在所述二進制文件中的信息,將所述信息與二進制文件中的符號表進行對比,根據所述對比的結果得出所述待改動函數在所述二進制文件中的位置信息,待改動函數在所述二進制文件中的信息包括:待改動函數在所述二進制文件中的函數名、或待改動函數在所述二進制文件中的開始地址;
重定位信息獲取子單元,用于為所述待改動的函數增加編譯屬性,增加的所述編譯屬性用于將所述待改動的函數保存到所述二進制文件的獨立的段中,根據所述編譯屬性再次將所述源代碼編譯為二進制文件,以獲取所述待改動的函數在所述二進制文件中的重定位信息。
8.如權利要求7所述的裝置,其特征在于,所述位置信息獲取子單元具體用于:
當利用所述標記獲取的所述信息為所述待改動函數在所述二進制文件中的函數名時,將所述待改動函數在所述二進制文件中的函數名與二進制文件中的符號表進行對比,以查詢得到所述待改動函數在所述二進制文件中的開始地址;
當利用所述標記獲取的所述信息為所述待改動函數在所述二進制文件中的開始地址時,將所述待改動函數在所述二進制文件中的開始地址與二進制文件中的符號表進行對比,以查詢得到所述待改動函數在所述二進制文件中的函數名;
將所述待改動函數在所述二進制文件中的函數名和開始地址作為所述待改動函數在所述二進制文件中的位置信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210504577.7/1.html,轉載請聲明來源鉆瓜專利網。





