[發明專利]虛擬化軟件保護方法和裝置有效
| 申請號: | 201710353209.X | 申請日: | 2017-05-18 |
| 公開(公告)號: | CN108932406B | 公開(公告)日: | 2021-12-17 |
| 發明(設計)人: | 闞志剛;陳彪;王衛民;盧佐華;方寧 | 申請(專利權)人: | 北京梆梆安全科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/12;G06F9/455 |
| 代理公司: | 北京志霖恒遠知識產權代理事務所(普通合伙) 11435 | 代理人: | 陳姍姍 |
| 地址: | 100083 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 虛擬 軟件 保護 方法 裝置 | ||
1.一種虛擬化軟件保護方法,其特征在于,包括:
將被保護軟件原安裝包中需保護的第一屬性的函數轉換為第二屬性的函數;利用虛擬化指令轉換引擎,將所述第一屬性的函數的至少一部分的第一字節碼轉換為自定義格式的第二字節碼;以及
根據所述第二屬性的函數、所述第二字節碼和自定義虛擬機解釋器,生成所述被保護軟件的用于在虛擬機上執行的新安裝包;
其中,所述第一屬性的函數具體為爪哇java函數,所述第二屬性的函數具體為原生native函數;
所述自定義虛擬機解釋器通過爪哇本地接口JNI函數用于執行新安裝包時讀取所述第二字節碼并根據所述第二字節碼的語義進行解釋執行;
所述根據所述第二屬性的函數、所述第二字節碼和自定義虛擬機解釋器,生成所述被保護軟件的用于在虛擬機上執行的新安裝包,包括:
刪除所述第二屬性的函數中所述第一屬性的函數的已轉換的第一字節碼,將所述第二字節碼,保存于所述第二屬性的函數中,生成新的可執行文件;
將自定義虛擬機解釋器和含有第二字節碼的第二屬性的函數編譯生成新的動態庫文件;以及
根據所述新的可執行程序文件和所述動態庫文件,生成所述被保護軟件的用于在虛擬機上執行的新安裝包。
2.根據權利要求1所述的保護方法,其特征在于,還包括:
將含有第二字節碼的第二屬性的函數注冊到虛擬機中;
使用所述虛擬機讀取所述新安裝包;以及
經由所述自定義虛擬機解釋器執行所述第二字節碼。
3.根據權利要求2所述的保護方法,其特征在于,所述經由所述自定義虛擬機解釋器執行第二字節碼,包括:
分配內存作為運行時所需要的寄存器數組;
將計算機PC指針指向編碼緩沖區codebuf的首地址;以及
進入一個無限循環中,在此循環中,解析第二字節碼中每條指令的操作數opcode,然后執行該opcode的語義,執行完后,讀取所述codebuf中的下一條指令,賦給PC;如果沒有指令,則退出該無限循環。
4.根據權利要求3所述的保護方法,其特征在于,
所述第二字節碼中存在不涉及java語義的操作的指令時,
所述自定義虛擬機解釋器在寄存器上執行該指令對應的操作;
其中,不涉及java語義的操作包括如下至少一項:
算術操作、寄存器賦值操作、條件跳轉、返回return操作。
5.根據權利要求3所述的保護方法,其特征在于,
所述第二字節碼中存在涉及java語義的操作的指令時,
所述自定義虛擬機解釋器通過爪哇本地接口JNI函數的調用來執行該指令對應的操作;
其中,所述涉及java語義的操作包括如下至少一項:
對象的生成操作、對象域的讀取操作、數組的生成和讀寫操作、函數調用操作、鎖的操作、異常處理的操作。
6.根據權利要求5所述的保護方法,其特征在于,所述經由所述自定義虛擬機解釋器執行所述第二字節碼,還包括:
檢測引用的java對象是否超過設定閾值;
若超過,則調用刪除本地參考Delete LocalRef函數刪除寄存器數組中不存在的java對象。
7.根據權利要求1-6任一所述的保護方法,其特征在于,利用虛擬化指令轉換引擎,將所述第一屬性的函數的至少一部分的第一字節碼轉換為自定義格式的第二字節碼,包括:
選取所述第一屬性的函數中至少兩個部分的第一字節碼;以及
利用至少兩個不同的虛擬化指令轉換引擎,將所述至少兩個部分的第一字節碼轉換為對應的第二字節碼。
8.根據權利要求7所述的保護方法,其特征在于,基于所述第一屬性的函數中包含的子函數來選取所述第一屬性的函數中至少兩個部分的第一字節碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京梆梆安全科技有限公司,未經北京梆梆安全科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710353209.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:移動平臺本地資源防篡改方法及裝置
- 下一篇:一種程序安全保護方法及裝置





