[發明專利]一種應用代碼加固方法、裝置、電子設備及存儲介質在審
| 申請號: | 202310143516.0 | 申請日: | 2023-02-07 |
| 公開(公告)號: | CN116432149A | 公開(公告)日: | 2023-07-14 |
| 發明(設計)人: | 李尼格;陳牧;陳璐;周鵬;張濤;馬媛媛;邵志鵬;郭亞瓊;徐均波;方文高 | 申請(專利權)人: | 國網智能電網研究院有限公司;國網浙江省電力有限公司信息通信分公司;國家電網有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F8/30;G06F8/41 |
| 代理公司: | 北京三聚陽光知識產權代理有限公司 11250 | 代理人: | 李靜玉 |
| 地址: | 102209 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用 代碼 加固 方法 裝置 電子設備 存儲 介質 | ||
1.一種應用代碼加固方法,其特征在于,包括:
獲取待加固應用的代碼文件;
在所述代碼文件中提取所述待加固應用的關鍵函數,得到所述待加固應用中關鍵函數的字節碼;
將所述關鍵函數的字節碼轉換為中間代碼,得到所述關鍵函數的中間代碼;
按照自定義代碼虛擬化標準,對所述關鍵函數的中間代碼進行代碼虛擬化處理,以將所述中間代碼轉換為本機代碼;
將所述待加固應用的代碼文件中的關鍵函數的字節碼替換為所述本機代碼,以得到所述待加固應用的目標代碼文件。
2.根據權利要求1所述的方法,其特征在于,所述在所述代碼文件中提取所述待加固應用的關鍵函數,得到所述待加固應用中關鍵函數的字節碼,包括:
根據所述代碼文件的函數調用樹表征的各函數之間的調用關系和各函數的自代碼執行率,確定各函數的總執行時間率;
當任一所述函數的總執行時間率達到預設總執行時間率閾值時,將該函數確定為所述待加固應用的關鍵函數;
在所述代碼文件中提取所述關鍵函數的字節碼。
3.根據權利要求2所述的方法,其特征在于,所述根據所述代碼文件的函數調用樹表征的各函數之間的調用關系和各函數的自代碼執行率,確定各函數的總執行時間率,包括:
對所述代碼文件的函數調用樹進行后序遍歷;
在當前遍歷節點函數的自代碼執行率達到預設自代碼執行率閾值時,根據所述函數調用樹表征的各函數之間的調用關系,確定所述當前遍歷節點函數的父函數,將所述父函數確定為選定函數,將所述當前遍歷節點函數添加到白名單;
獲取所述選定函數所有子函數的自代碼執行率/總執行時間率、各所述子函數的占用率和所述選定函數的自代碼執行率;
將所述選定函數中自代碼執行率達到預設自代碼執行率閾值的子函數,或總執行時間率達到預設總執行時間率閾值的子函數,確定為目標子函數,并將所述目標子函數添加到所述白名單;
根據所述選定函數所有目標子函數的自代碼執行率和各所述目標子函數的占用率,和/或選定函數所有目標子函數的總執行時間率和各所述目標子函數的占用率,確定所述選定函數的子函數執行率;
根據所述選定函數的子函數執行率和所述選定函數的自代碼執行率的累加結果,確定所述選定函數的總執行時間率。
4.根據權利要求1所述的方法,其特征在于,所述將所述關鍵函數的字節碼轉換為中間代碼,得到所述關鍵函數的中間代碼,包括:
將所述關鍵函數的字節碼轉換為Smali代碼;
對所述Smali代碼進行語義分析,得到所述Smali代碼的語義分析結果;
根據所述語義分析結果,將所述Smali代碼轉換為同語義的中間代碼,以得到所述關鍵函數的中間代碼。
5.根據權利要求4所述的方法,其特征在于,所述中間代碼包括C語言代碼,所述根據所述語義分析結果,將所述Smali代碼轉換為同語義的中間代碼,以得到所述關鍵函數的中間代碼,包括:
根據所述語義分析結果,構建所述Smali代碼的指令路徑樹;
遍歷所述指令路徑樹,得到所述指令路徑樹的遍歷結果;
根據所述遍歷結果,確定所述Smali代碼對應的同語義的C語言代碼的中間表示;
根據所述遍歷結果表征的各父節點與子節點之間變量的對應關系,確定所述父節點與子節點之間的冗余變量;
在所述C語言代碼的中間表示中剔除所述冗余變量,得到所述關鍵函數的C語言代碼。
6.根據權利要求1所述的方法,其特征在于,所述按照自定義代碼虛擬化標準,對所述關鍵函數的中間代碼進行代碼虛擬化處理,以將所述中間代碼轉換為本機代碼,包括:
將所述關鍵函數的中間代碼轉換為所述關鍵函數的LLVMIR代碼;
按照自定義代碼虛擬化標準,對所述關鍵函數的LLVMIR代碼進行代碼虛擬化處理,以得到所述關鍵函數的本機代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國網智能電網研究院有限公司;國網浙江省電力有限公司信息通信分公司;國家電網有限公司,未經國網智能電網研究院有限公司;國網浙江省電力有限公司信息通信分公司;國家電網有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310143516.0/1.html,轉載請聲明來源鉆瓜專利網。





