[發明專利]代碼加固方法、裝置有效
| 申請號: | 202111115647.5 | 申請日: | 2021-09-23 |
| 公開(公告)號: | CN113704706B | 公開(公告)日: | 2023-10-27 |
| 發明(設計)人: | 劉鵬 | 申請(專利權)人: | 深圳市騰訊信息技術有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F8/41 |
| 代理公司: | 北京派特恩知識產權代理有限公司 11270 | 代理人: | 彭奇;張穎玲 |
| 地址: | 518054 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 加固 方法 裝置 | ||
本申請提供了一種代碼加固方法、裝置、設備、計算機可讀存儲介質及計算機程序產品;方法包括:確定源代碼的第一語法樹,其中,所述第一語法樹用于表征所述源代碼的語法結構;對所述第一語法樹進行解析,得到與所述源代碼中的待加固函數對應的第二語法樹,其中,所述第二語法樹為所述第一語法樹的子樹結構;對所述第二語法樹中對應所述待加固函數的函數邏輯進行編譯處理,得到目標二進制代碼;根據所述目標二進制代碼和運行時,生成與所述待加固函數對應的可執行二進制代碼;將與所述待加固函數對應的可執行二進制代碼替換所述源代碼中的所述待加固函數,得到加固代碼。通過本申請,能夠實現對源代碼的有效加固,提高源代碼的安全性。
技術領域
本申請涉及互聯網技術領域,尤其涉及一種代碼加固方法、裝置、設備、計算機可讀存儲介質及計算機程序產品。
背景技術
互聯網特別是移動互聯網的快速發展,各種應用程序的數量也飛速增長。然而,在一些核心技術領域,技術擁有方并不希望應用程序的源代碼的計算邏輯被外界所知曉,為了防止應用程序的源代碼被竊取,可以對應用程序的源代碼進行加固處理。
相關技術中,對于應用程序的源代碼的加固處理,通常是對源代碼進行加密的方式實現。這樣,當加密密鑰被破解時,應用程序的源代碼將整體被破解,導致加固安全性極低。
對于如何實現對源代碼的有效加固,提高源代碼的安全性,相關技術尚無有效解決方案。
發明內容
本申請實施例提供一種代碼加固方法、裝置、設備、計算機可讀存儲介質及計算機程序產品,能夠實現對源代碼的有效加固,提高源代碼的安全性。
本申請實施例的技術方案是這樣實現的:
本申請實施例提供一種代碼加固方法,包括:
確定源代碼的第一語法樹,其中,所述第一語法樹用于表征所述源代碼的語法結構;
對所述第一語法樹進行解析,得到與所述源代碼中的待加固函數對應的第二語法樹,其中,所述第二語法樹為所述第一語法樹的子樹結構;
對所述第二語法樹中對應所述待加固函數的函數邏輯進行編譯處理,得到目標二進制代碼;
根據所述目標二進制代碼和運行時,生成與所述待加固函數對應的可執行二進制代碼;
將與所述待加固函數對應的可執行二進制代碼替換所述源代碼中的所述待加固函數,得到加固代碼。
本申請實施例提供一種代碼加固裝置,包括:
確定模塊,用于確定源代碼的第一語法樹,其中,所述第一語法樹用于表征所述源代碼的語法結構;
解析模塊,用于對所述第一語法樹進行解析,得到與所述源代碼中的待加固函數對應的第二語法樹,其中,所述第二語法樹為所述第一語法樹的子樹結構;
編譯模塊,用于對所述第二語法樹中對應所述待加固函數的函數邏輯進行編譯處理,得到目標二進制代碼;
生成模塊,用于根據所述目標二進制代碼和運行時,生成與所述待加固函數對應的可執行二進制代碼;
替換模塊,用于將與所述待加固函數對應的可執行二進制代碼替換所述源代碼中的所述待加固函數,得到加固代碼。
上述方案中,所述生成模塊,用于將所述目標二進制代碼轉換為與所述目標二進制代碼對應的字節碼,其中,所述字節碼為所述目標二進制代碼的文本抽象描述;基于所述字節碼調用所述運行時執行以下處理:將所述字節碼中的字符依次存儲至所述運行時的堆棧數據結構中;基于存儲后的所述堆棧數據結構執行所述字節碼中的字符,得到與所述待加固函數對應的可執行二進制代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊信息技術有限公司,未經深圳市騰訊信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111115647.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種鉆石啫喱高光及其制備方法
- 下一篇:一種鈑金件加工用防變形沖壓設備





