[發明專利]軟件的函數修改方法有效
| 申請號: | 201210362533.5 | 申請日: | 2012-09-26 |
| 公開(公告)號: | CN103677790A | 公開(公告)日: | 2014-03-26 |
| 發明(設計)人: | 侯健 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 深圳翼盛智成知識產權事務所(普通合伙) 44300 | 代理人: | 歐陽啟明 |
| 地址: | 518000 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟件 函數 修改 方法 | ||
1.一種軟件的函數修改方法,其特征在于:包括以下步驟:?
獲取軟件運行空間中的原函數簽名;?
按照所述原函數簽名生成一替代函數,其中所述替代函數的簽名中包括替代標識;?
將所述替代函數中非通用類型的特征轉換為通用類型的特征,其中在該通用類型的特征下,所述替代函數可適用于任意函數;?
將轉換后的替代函數加載至軟件運行空間;?
按照所述替代函數執行軟件。?
2.根據權利要求1所述的軟件的函數修改方法,其特征在于:獲取軟件運行空間中的原函數簽名的步驟具體包括:?
獲取配置文件中的原函數簽名列表,并判斷原函數的簽名對應的原函數是否存在于運行空間中,若是,則獲取軟件運行空間中的原函數簽名;其中所述原函數簽名列表中包括有原函數的簽名。?
3.根據權利要求1所述的軟件的函數修改方法,其特征在于:將轉換后的替代函數加載至軟件運行空間的步驟具體包括:?
將轉換后的替代函數編譯成替代機器碼,并將該替代機器碼加載到軟件運行空間。?
4.根據權利要求3所述的軟件的函數修改方法,其特征在?于:按照所述替代函數執行軟件的步驟具體包括:?
將原函數的開始部分的機器碼,修改為跳轉指令到所述替代機器碼,并按照所述替代機器碼執行軟件。?
5.根據權利要求1所述的軟件的函數修改方法,其特征在于:將替換后的替代函數加載至軟件的運行空間的步驟之后,所述方法還包括以下步驟:?
記錄加載到運行空間中的替代函數的地址。?
6.根據權利要求2所述的軟件的函數修改方法,其特征在于:獲取配置文件中的原函數簽名列表的步驟之前,所述方法還包括以下步驟:?
預先在原函數的運行空間中設置啟動器,該啟動器用于將所述替代函數加載至軟件的運行空間中。?
7.根據權利要求1所述的軟件的函數修改方法,其特征在于:將所述替代函數中非通用類型的特征替換為通用類型的特征的步驟具體包括:?
若所述原函數的簽名中有類型指針,則將該類型指針替換為通用類型指針void*。?
8.根據權利要求1所述的軟件的函數修改方法,其特征在于:將所述替代函數中非通用類型的特征替換為通用類型的特征的步驟具體包括:?
若所述原函數的簽名為一C++函數,則將所述原函數的簽名中的“:”替換為_,并在所述替代函數簽名的參數前添加一指?針參數。?
9.根據權利要求1所述的軟件的函數修改方法,其特征在于:將替換后的替代函數加載至軟件的運行空間中的步驟具體包括:?
通過編譯器中的應用程序編程接口將替代函數的符號導入到替代函數的編譯過程。?
10.根據權利要求1所述的軟件的函數修改方法,其特征在于:將替換后的替代函數加載至軟件的運行空間中的步驟具體包括:?
通過編譯器將替代函數保存為一個.c文件,同時將該.c文件編譯成一個動態鏈接庫,之后通過應用程序編程接口將上述動態鏈接庫導入到軟件的運行空間中。?
11.根據權利要求1所述的軟件的函數修改方法,其特征在于:按照所述原函數簽名生成一替代函數簽名時,還包括以下步驟:生成信息獲取編碼用于統計客戶端的信息。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210362533.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:氣相常壓吡啶光氯化動力學研究裝置
- 下一篇:電樞





