日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]軟件的函數修改方法有效

專利信息
申請號: 201210362533.5 申請日: 2012-09-26
公開(公告)號: CN103677790A 公開(公告)日: 2014-03-26
發明(設計)人: 侯健 申請(專利權)人: 騰訊科技(深圳)有限公司
主分類號: G06F9/44 分類號: G06F9/44
代理公司: 深圳翼盛智成知識產權事務所(普通合伙) 44300 代理人: 歐陽啟明
地址: 518000 廣東省深*** 國省代碼: 廣東;44
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 軟件 函數 修改 方法
【說明書】:

【技術領域】

發明涉及軟件技術領域,特別是涉及一種軟件的函數修改方法。

【背景技術】

隨著各種軟件的不斷增多,客戶端對軟件功能的要求越來越高。

以函數Hook技術為例,通過Hook技術,可修改函數的二進制編碼,從而修改函數,進而達到修改軟件的目的。譬如可通過Hook技術關閉原函數、修改原函數,或者進行軟件的調試、重建等。

而現有的Hook技術,需要通過修改編碼來修改原函數,在調用原函數時,需調用一個劫持者提供的替代函數。為了保證劫持過程中函數的棧平衡,需要原函數和替代函數的函數傳入參數必須完全一致,這樣就需要針對不同的原函數,編寫針對性的替代函數。

綜上,如何解決現有技術中在修改軟件中函數時,需針對每一原函數編寫一相同的替代函數,導致效率低下,成本較高的技術問題,是軟件技術領域研究的方向之一。

【發明內容】

本發明的一個目的在于提供一種軟件的函數修改方法,以解決現有技術中在修改軟件中函數時,需針對每一原函數編寫一相同的替代函數,導致效率低下,成本較高的技術問題。

為解決上述技術問題,本發明構造了一種軟件的函數修改方法,包括以下步驟:

獲取軟件運行空間中的原函數簽名;

按照所述原函數簽名生成一替代函數,其中所述替代函數的簽名中包括替代標識;

將所述替代函數中非通用類型的特征轉換為通用類型的特征,其中在該通用類型的特征下,所述替代函數可適用于任意函數;

將轉換后的替代函數加載至軟件運行空間;

按照所述替代函數執行軟件。

在本發明一實施例中:獲取軟件運行空間中的原函數簽名的步驟具體包括:

獲取配置文件中的原函數簽名列表,并判斷原函數的簽名對應的原函數是否存在于運行空間中,若是,則獲取軟件運行空間中的原函數簽名;其中所述原函數簽名列表中包括有原函數的簽名。

在本發明一實施例中:將轉換后的替代函數加載至軟件運行空間的步驟具體包括:

將轉換后的替代函數編譯成替代機器碼,并將該替代機器碼加載到軟件運行空間。

在本發明一實施例中:按照所述替代函數執行軟件的步驟具體包括:

將原函數的開始部分的機器碼,修改為跳轉指令到所述替代機器碼,并按照所述替代機器碼執行軟件。

在本發明一實施例中:將替換后的替代函數加載至軟件的運行空間的步驟之后,所述方法還包括以下步驟:

記錄加載到運行空間中的替代函數的地址。

在本發明一實施例中:獲取配置文件中的原函數簽名列表的步驟之前,所述方法還包括以下步驟:

預先在原函數的運行空間中設置啟動器,該啟動器用于將所述替代函數加載至軟件的運行空間中。

在本發明一實施例中:將所述替代函數中非通用類型的特征替換為通用類型的特征的步驟具體包括:

若所述原函數的簽名中有類型指針,則將該類型指針替換為通用類型指針void*:

在本發明一實施例中:將所述替代函數中非通用類型的特征替換為通用類型的特征的步驟具體包括:

若所述原函數的簽名為一C++函數,則將所述原函數的簽名中的“:”替換為_,并在所述替代函數簽名的參數前添加一個指針參數。

在本發明一實施例中:將替換后的替代函數加載至軟件的運行空間中的步驟具體包括:

通過編譯器中的應用程序編程接口將替代函數的符號導入到替代函數的編譯過程。

在本發明一實施例中:將替換后的替代函數加載至軟件的運行空間中的步驟具體包括:

通過編譯器將替代函數保存為一個.c文件,同時將該.c文件編譯成一個動態鏈接庫,之后通過應用程序編程接口將上述動態鏈接庫導入到軟件的運行空間中。

在本發明一實施例中:按照所述原函數簽名生成一替代函數簽名時,還包括以下步驟:生成信息獲取編碼用于統計客戶端的信息。

相對于現有技術,本發明在獲取軟件運行空間中的原函數簽名后,按照原函數簽名生成一替代函數簽名,并將替代函數簽名中非通用類型的特征轉換為通用類型的特征,其中在該通用類型的特征下,替代函數簽名可適用于任意函數,之后將轉換后的替代函數加載至軟件運行空間,并按照替代函數執行軟件。顯然本發明無需針對每一原函數編寫一相同的替代函數即可修改各種類型的原函數,不僅效率高,而且成本較低。

為讓本發明的上述內容能更明顯易懂,下文特舉優選實施例,并配合所附圖式,作詳細說明如下:

【附圖說明】

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/201210362533.5/2.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖流程工藝圖技術構造圖

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 午夜av免费观看| 亚洲高清国产精品| 国产色一区二区| 国产一区激情| 国产一区免费在线| 国产精品尤物麻豆一区二区三区| 色噜噜狠狠色综合影视| 欧美激情在线免费| 精品国产一区二区三区四区vr| 国产精品久久久久久久久久软件| 天干天干天干夜夜爽av| 国产精品免费一区二区区| 国精产品一二四区在线看 | 日本护士hd高潮护士| 在线观看黄色91| 少妇高潮一区二区三区99小说| 国产一区激情| 97久久精品人人澡人人爽| 日韩av在线影院| 国产精品无码专区在线观看| 欧美日韩一级在线观看| 欧美日韩精品在线一区| 亚洲日韩欧美综合| 狠狠干一区| 国产99小视频| 丰满岳乱妇bd在线观看k8| 国产精品午夜一区二区| 亚洲国产美女精品久久久久∴| 亚洲国产精品国自产拍av| 日韩中文字幕一区二区在线视频 | 四季av中文字幕一区| 日韩av在线一区| yy6080影院旧里番乳色吐息| 国产精品日韩一区二区三区| 91视频国产一区| 国产一区免费在线| av不卡一区二区三区| 国产精品一区二区久久乐夜夜嗨 | 国产一区二区三级| 亚洲精品性| 国产一区二区三区国产| 国产一级精品在线观看| 国产乱子一区二区| 日本一二三区视频在线| 国产天堂第一区| 欧美激情精品久久久久久免费| 日韩av中文字幕在线免费观看| 96国产精品视频| 午夜电影网一区| 三上悠亚亚洲精品一区二区| 亚洲国产精品二区| 国产精品视频二区三区| 午夜黄色大片| 国产免费区| 国产69精品久久久久app下载| 久久99亚洲精品久久99果| 日本一区免费视频| 亚洲第一区国产精品| 国产乱码精品一区二区三区介绍| 美日韩一区| 日韩中文字幕亚洲欧美| 亚洲午夜久久久久久久久电影院| 国产69精品久久99的直播节目| 久久综合狠狠狠色97| 91久久国语露脸精品国产高跟| 国产精品一二三四五区| 国产高清精品一区二区| 久久99国产精品久久99| 国产精品视频久久久久久久| 精品国产伦一区二区三区| 欧美激情综合在线| 日本精品三区| 在线精品国产一区二区三区| xxxx国产一二三区xxxx| 日韩欧美国产高清91| 日韩一级在线视频| 久久夜色精品国产噜噜麻豆| 日本一二三四区视频| 国产日韩欧美在线一区| 国产日韩欧美精品一区二区| 99国产精品99久久久久久粉嫩| 国产偷亚洲偷欧美偷精品 |