[發明專利]代碼混淆方法、裝置、設備、介質以及程序產品在審
| 申請號: | 202210291741.4 | 申請日: | 2022-03-22 |
| 公開(公告)號: | CN114756833A | 公開(公告)日: | 2022-07-15 |
| 發明(設計)人: | 曠亞和;程佩哲;牟天宇;魏興 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 張體南 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 混淆 方法 裝置 設備 介質 以及 程序 產品 | ||
1.一種代碼混淆方法,其特征在于,包括:
獲取第一待混淆函數和第二待混淆函數;
對所述第一待混淆函數執行第一混淆處理,得到第一代碼片段,所述第一混淆處理包括改寫所述第一待混淆函數的函數內容和調用關系;
對所述第二待混淆函數執行第二混淆處理,得到第二代碼片段,所述第二混淆處理包括改寫所述第二待混淆函數的調用關系;以及
在所述第一待混淆函數和所述第二待混淆函數完成相應的混淆處理后,得到混淆后的代碼。
2.根據權利要求1所述的方法,其特征在于,所述獲取第一待混淆函數和第二待混淆函數包括:
基于預設的關鍵函數清單,通過字符正則匹配篩選出所述第一待混淆函數和所述第二待混淆函數。
3.根據權利要求1所述的方法,其特征在于,所述對所述第一待混淆函數執行第一混淆處理,得到第一代碼片段,包括:
提取所述第一待混淆函數中的函數內容,所述函數內容包括函數邏輯體信息;
通過腳本語言的語法形式對所述函數邏輯體信息執行改寫操作,得到第一腳本片段;
遍歷待混淆代碼中調用所述第一待混淆函數的第一調用點;
將所述第一調用點的所述第一待混淆函數替換為所述第一腳本片段;以及
將所述第一調用點的調用關系改造成為反射調用,得到第一代碼片段。
4.根據權利要求3所述的方法,其特征在于,在所述通過腳本語言的語法形式對所述函數邏輯體信息執行改寫操作,得到第一腳本片段后,所述方法還包括:
基于預設的第一加密算法對所述第一腳本片段進行加密處理,得到加密后的第一腳本片段。
5.根據權利要求1所述的方法,其特征在于,所述對所述第二待混淆函數執行第二混淆處理,得到第二代碼片段,包括:
識別所述第二待混淆函數的函數調用關系;
基于不同的函數調用關系采用相應的反射調用改造手段進行改造,得到所述第二代碼片段。
6.根據權利要求5所述的方法,其特征在于,在所述基于不同的函數調用關系采用相應的反射調用改造手段進行改造,得到所述第二代碼片段后,所述方法還包括:
提取反射調用涉及的第一關鍵詞;
基于預設的第二加密算法對所述第一關鍵詞進行加密處理,得到第二關鍵詞;以及
基于預設的第二加密算法對應的解密算法添加解密函數調用,所述解密函數調用用于在運行第二代碼片段時,解密所述第二關鍵詞。
7.一種代碼混淆裝置,其特征在于,包括:待混淆函數獲取模塊、第一混淆處理模塊、第二混淆處理模塊以及混淆代碼獲取模塊,其中,
所述待混淆函數獲取模塊,用于獲取第一待混淆函數和第二待混淆函數;
所述第一混淆處理模塊,用于對所述第一待混淆函數執行第一混淆處理,得到第一代碼片段,所述第一混淆處理包括改寫所述第一待混淆函數的函數內容和調用關系;
所述第二混淆處理模塊,用于對所述第二待混淆函數執行第二混淆處理,得到第二代碼片段,所述第二混淆處理包括改寫所述第二待混淆函數的調用關系;以及
所述混淆代碼獲取模塊,用于在所述第一待混淆函數和所述第二待混淆函數完成相應的混淆處理后,得到混淆后的代碼。
8.一種電子設備,包括:
一個或多個處理器;
存儲裝置,用于存儲一個或多個程序,
其中,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器執行根據權利要求1~6中任一項所述的方法。
9.一種計算機可讀存儲介質,其上存儲有可執行指令,該指令被處理器執行時使處理器執行根據權利要求1~6中任一項所述的方法。
10.一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現根據權利要求1~6中任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210291741.4/1.html,轉載請聲明來源鉆瓜專利網。





