[發(fā)明專利]一種信息處理方法及服務(wù)器、計算機存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201710331113.3 | 申請日: | 2017-05-11 |
| 公開(公告)號: | CN108874470B | 公開(公告)日: | 2023-04-07 |
| 發(fā)明(設(shè)計)人: | 熊彪;尚鴻 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448;G06F9/54 |
| 代理公司: | 北京派特恩知識產(chǎn)權(quán)代理有限公司 11270 | 代理人: | 蔣雅潔;張穎玲 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 信息處理 方法 服務(wù)器 計算機 存儲 介質(zhì) | ||
本發(fā)明公開了一種信息處理方法、服務(wù)器及計算機存儲介質(zhì),其中,所述方法包括:以靜態(tài)方式逆向遍歷二進制文件中的函數(shù)代碼;解析所述函數(shù)代碼,獲取所述函數(shù)代碼中全局的函數(shù)拓撲關(guān)系;以動態(tài)方式獲取所述函數(shù)代碼運行時函數(shù)被調(diào)用的實際地址;根據(jù)所述函數(shù)被調(diào)用的實際地址得到局部的函數(shù)拓撲關(guān)系;根據(jù)所述局部的函數(shù)拓撲關(guān)系,對所述全局的函數(shù)拓撲關(guān)系中缺失的數(shù)據(jù)進行補齊,得到函數(shù)調(diào)用關(guān)系鏈。
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù),尤其涉及一種信息處理方法及服務(wù)器、計算機存儲介質(zhì)。
背景技術(shù)
用戶使用的各種應(yīng)用、各種互聯(lián)網(wǎng)服務(wù)、各種生活服務(wù)等等,都可以通過計算機編程實現(xiàn)。在編程中有時會把多個函數(shù)串在一起依次調(diào)用,以達到特定的目的,在這里,把這樣的調(diào)用方式形象地稱為函數(shù)鏈調(diào)用。函數(shù)鏈中的函數(shù)有些是獨立的,有些則只用在函數(shù)組合中,不會單獨調(diào)用。對象的連續(xù)配置和組合是函數(shù)鏈調(diào)用比較常用場合,編程的編譯過程中需要有相應(yīng)的匯編類庫供調(diào)用。
現(xiàn)有函數(shù)調(diào)用關(guān)系鏈的獲取方式,是通過doxygen工具來實現(xiàn)。這種方式是靜態(tài)解析源代碼,通過解析代碼的調(diào)用以生成函數(shù)調(diào)用關(guān)系鏈,即:通過解析源代碼的方式獲取該函數(shù)調(diào)用關(guān)系鏈。
采用上述函數(shù)調(diào)用關(guān)系鏈的獲取方式,所存在的問題是:采用靜態(tài)解析源代碼的方式在對動態(tài)語言進行分析過程中,函數(shù)調(diào)用關(guān)系鏈會有缺失的現(xiàn)象,因為,需要在動態(tài)實際運行過程中才能夠確定實際的函數(shù)地址。
然而,相關(guān)技術(shù)中,對于該問題,尚無有效解決方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供了一種信息處理方法及服務(wù)器、計算機存儲介質(zhì),至少解決了現(xiàn)有技術(shù)存在的問題。
本發(fā)明實施例提供一種信息處理方法,所述方法包括:
以靜態(tài)方式逆向遍歷二進制文件中的函數(shù)代碼;
解析所述函數(shù)代碼,獲取所述函數(shù)代碼中全局的函數(shù)拓撲關(guān)系;
以動態(tài)方式獲取所述函數(shù)代碼運行時函數(shù)被調(diào)用的實際地址;
根據(jù)所述函數(shù)被調(diào)用的實際地址得到局部的函數(shù)拓撲關(guān)系;
根據(jù)所述局部的函數(shù)拓撲關(guān)系,對所述全局的函數(shù)拓撲關(guān)系中缺失的數(shù)據(jù)進行補齊,得到函數(shù)調(diào)用關(guān)系鏈。
上述方案中,所述解析所述函數(shù)代碼,獲取所述函數(shù)代碼中全局的函數(shù)拓撲關(guān)系,包括:
在靜態(tài)解析模式下解析所述函數(shù)代碼,得到所述函數(shù)代碼中的所有指令;
從所述函數(shù)代碼中的所有指令中,識別出函數(shù)地址調(diào)用指令;
根據(jù)所述函數(shù)地址調(diào)用指令所指示的位置,從所述函數(shù)代碼中提取出第一函數(shù)調(diào)用關(guān)系鏈,所述第一函數(shù)調(diào)用關(guān)系鏈用于表征所述全局的函數(shù)拓撲關(guān)系。
上述方案中,所述以動態(tài)方式獲取所述函數(shù)代碼運行時函數(shù)被調(diào)用的實際地址,包括:
從所述靜態(tài)解析模式切換到動態(tài)解析模式,解析所述函數(shù)代碼中包含的函數(shù)虛地址,得到與所述函數(shù)虛地址對應(yīng)的函數(shù)被調(diào)用的實際地址。
上述方案中,所述解析所述函數(shù)代碼中包含的函數(shù)虛地址,得到與所述函數(shù)虛地址對應(yīng)的函數(shù)被調(diào)用的實際地址,包括:
從所述函數(shù)代碼中確定出需要動態(tài)獲取函數(shù)調(diào)用關(guān)系鏈的待測試進程,所述待測試進程中包含函數(shù)虛地址;
在所述待測試進程運行前,對所述待測試進程下斷點,運行到所述斷點時,得到運行的特征數(shù)據(jù),根據(jù)所述特征數(shù)據(jù)得到所述函數(shù)被調(diào)用的實際地址。
上述方案中,所述解析所述函數(shù)代碼中包含的函數(shù)虛地址,得到與所述函數(shù)虛地址對應(yīng)的函數(shù)被調(diào)用的實際地址,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710331113.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





