[發明專利]一種代碼的分析方法、裝置、電子終端及存儲介質有效
| 申請號: | 202110584754.6 | 申請日: | 2021-05-27 |
| 公開(公告)號: | CN113190235B | 公開(公告)日: | 2022-05-10 |
| 發明(設計)人: | 周志剛 | 申請(專利權)人: | 武漢斗魚魚樂網絡科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 430070 湖北省武漢市東湖新技術開發區軟件園東路*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 代碼 分析 方法 裝置 電子 終端 存儲 介質 | ||
1.一種代碼的分析方法,其特征在于,包括:
獲取匯編代碼的目標函數鏈表對象;其中所述目標函數鏈表對象中包含與根函數對應的函數信息對象;其中所述根函數為,與所述匯編代碼對應的源碼中,調用除本函數外其他函數的函數;其中,所述函數信息對象中包含所述根函數的函數名稱;
獲取所述目標函數鏈表對象中函數信息對象的函數名稱,并對與所述函數名稱對應的根函數,設置第一鉤子函數;
接收目標功能的觸發指令,基于所述觸發指令運行所述匯編代碼,并于所述匯編代碼運行結束時,根據所述第一鉤子函數的回調結果,從所述函數信息對象中,確定熱點函數信息對象;
確定與所述熱點函數信息對象的函數名稱對應的熱點根函數,將所述熱點根函數調用的函數中,非循環調用的函數作為目標子函數,并對所述目標子函數設置第二鉤子函數;
再次接收所述目標功能的觸發指令,基于所述觸發指令運行所述匯編代碼,并于所述匯編代碼運行結束時,根據所述第二鉤子函數的回調結果,以及預先生成的所述目標子函數的引用列表,生成分析結果;其中,所述引用列表根據引用所述目標子函數的函數生成。
2.根據權利要求1所述的方法,其特征在于,所述獲取匯編代碼的目標函數鏈表對象,包括:
獲取匯編代碼的函數列表,遍歷所述函數列表,獲取所述函數列表中各函數的函數信息,將所述函數信息存儲至預設文件中;其中,所述函數信息包含函數名稱;其中,所述預設文件中每行保存一個函數的函數信息;
逐行讀取所述預設文件,根據每行的函數信息創建函數信息對象,并將所述函數信息對象存儲至第一函數鏈表對象中;
對所述第一函數鏈表對象中的函數信息對象進行過濾,得到包含與根函數對應的函數信息對象的目標函數鏈表對象。
3.根據權利要求2所述的方法,其特征在于,所述對所述第一函數鏈表對象中的函數信息對象進行過濾,得到包含與根函數對應的函數信息對象的目標函數鏈表對象,包括:
將所述第一函數鏈表對象中,函數信息對象包含的指令長度小于預設長度的函數信息對象進行過濾,得到第二函數鏈表對象;
將所述第二函數鏈表對象中,與函數信息對象的函數名稱對應的函數的函數頭,為跳轉指令的函數信息對象進行過濾,得到第三函數鏈表對象;
將所述第三函數鏈表對象中,與函數信息對象的函數名稱對應的函數為根函數的函數信息對象進行保留,得到目標函數鏈表對象。
4.根據權利要求1所述的方法,其特征在于,所述引用列表基于下述步驟生成:
遍歷待分析匯編代碼,獲取所述待分析匯編代碼中各段的段信息;
根據所述段信息獲取段名稱,并于所述段名稱中包含函數名稱時,獲取與包含的函數名稱對應的函數的偏移地址;
遍歷對所述偏移地址進行引用的引用函數,得到與包含的函數名稱對應的函數的引用列表。
5.根據權利要求1所述的方法,其特征在于,所述根據所述第一鉤子函數的回調結果,從所述函數信息對象中,確定熱點函數信息對象,包括:
根據所述第一鉤子函數返回的根函數的第一函數名稱,和與所述第一函數名稱對應的調用次數,從所述函數信息對象中,確定熱點函數信息對象。
6.根據權利要求1所述的方法,其特征在于,所述根據所述第二鉤子函數的回調結果,以及預先生成的所述目標子函數的引用列表,生成分析結果,包括:
根據所述第二鉤子函數返回的目標子函數的第二函數名稱、與所述第二函數名稱對應的調用次數,以及所述引用列表中對所述目標子函數進行引用的引用函數,生成所述匯編代碼基于所述觸發指令運行過程中,根函數間的調用順序,以及各根函數內目標子函數的調用順序。
7.根據權利要求1-6任一所述的方法,其特征在于,所述匯編代碼為第三方模塊的匯編代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚魚樂網絡科技有限公司,未經武漢斗魚魚樂網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110584754.6/1.html,轉載請聲明來源鉆瓜專利網。





