[發明專利]虛擬化軟件保護方法和裝置有效
| 申請號: | 201710353209.X | 申請日: | 2017-05-18 |
| 公開(公告)號: | CN108932406B | 公開(公告)日: | 2021-12-17 |
| 發明(設計)人: | 闞志剛;陳彪;王衛民;盧佐華;方寧 | 申請(專利權)人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/12;G06F9/455 |
| 代理公司: | 北京志霖恒遠知識產權代理事務所(普通合伙) 11435 | 代理人: | 陳姍姍 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 虛擬 軟件 保護 方法 裝置 | ||
本申請公開了一種虛擬化軟件保護方法和裝置,該方法包括:將被保護軟件原安裝包中需保護的第一屬性的函數轉換為第二屬性的函數;利用虛擬化指令轉換引擎,將所述第一屬性的函數的至少一部分的第一字節碼轉換為自定義格式的第二字節碼;以及根據所述第二屬性的函數、所述第二字節碼和自定義虛擬機解釋器,生成所述被保護軟件的用于在虛擬機上執行的新安裝包;其中,所述自定義虛擬機解釋器用于執行新安裝包時讀取所述第二字節碼并根據所述第二字節碼的語義進行解釋執行。根據本申請的方案,可有效保障被保護軟件的安全。
技術領域
本公開一般涉及計算機技術領域,具體涉及一種虛擬化軟件保護方法和裝置。
背景技術
Android(安卓)平臺上采用java(爪哇)語言進行開發,java語言是一種跨平臺的,解釋性的語言,Java的源代碼編譯為一種“字節碼”形式的中間代碼,這種字節碼保留了很多源代碼的信息,例如方法名,變量名等,從而java字節碼的反編譯變得非常容易。為了保護Android程序的應用版權等,需要對應用程序進行保護。
傳統的Android平臺上軟件代碼保護技術主要包括代碼混淆和軟件加殼這兩種技術。
代碼混淆是指將程序的代碼轉換成一種功能上等價,但是難于閱讀和理解的形式的行為。
軟件加殼是另一種應用極其普遍的軟件保護技術。所謂“殼”,即包裹在程序外的一層代碼,這層代碼在被保護代碼前執行,執行解密代碼、反調試等操作,完成這些任務后,再將執行權轉交給目標代碼。
目前在軟件加殼主要有兩代技術:一代技術基于java的類加載技術進行保護,二代技術采用方法代碼抽取加密的方式實現。一代技術使用java本身提供的類加載技術,可執行文件classes.dex被完整加密,存放到APK(Android Package,安卓安裝包)的資源中。運行時修改程序入口,將加密后的classes.dex在內存中解密,并讓虛擬機加載執行。二代技術將原APK中的所有方法的代碼提取出來,單獨加密,當虛擬機要執行某個方法時,加固引擎才解密該方法,并將解密后的代碼交給虛擬機的執行引擎執行。
然而,現有的代碼混淆和軟件加殼保護軟件代碼上存在保護力度不夠的問題,軟件代碼的安全性有待進一步提高。
發明內容
鑒于現有技術中的上述缺陷或不足,期望提供一種能夠有效保障軟件代碼安全的保護方案。
第一方面,本申請實施例提供了一種虛擬化軟件保護方法,包括:
將被保護軟件原安裝包中需保護的第一屬性的函數轉換為第二屬性的函數;
利用虛擬化指令轉換引擎,將所述第一屬性的函數的至少一部分的第一字節碼轉換為自定義格式的第二字節碼;以及
根據所述第二屬性的函數、所述第二字節碼和自定義虛擬機解釋器,生成所述被保護軟件的用于在虛擬機上執行的新安裝包;
其中,所述第一屬性的函數具體為爪哇java函數,所述第二屬性的函數具體為原生native函數;
所述自定義虛擬機解釋器通過爪哇本地接口JNI函數用于執行新安裝包時讀取所述第二字節碼并根據所述第二字節碼的語義進行解釋執行。
第二方面,本申請實施例還提供了一種虛擬化軟件保護裝置,所述裝置包括:
函數轉化單元,配置用于將被保護軟件原安裝包中需保護的第一屬性的函數轉換為第二屬性的函數;
字節碼轉換單元,配置用于利用虛擬化指令轉換引擎,將所述第一屬性的函數的至少一部分的第一字節碼轉換為自定義格式的第二字節碼;以及
軟件保護單元,配置用于根據第二屬性的函數、所述第二字節碼和自定義虛擬機解釋器,生成所述被保護軟件的用于在虛擬機上執行的新安裝包。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京梆梆安全科技有限公司,未經北京梆梆安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710353209.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:移動平臺本地資源防篡改方法及裝置
- 下一篇:一種程序安全保護方法及裝置





