[發明專利]一種基于中間語言解釋器的跨平臺源碼虛擬化保護方法有效
| 申請號: | 201811410412.7 | 申請日: | 2018-11-23 |
| 公開(公告)號: | CN109543368B | 公開(公告)日: | 2021-08-17 |
| 發明(設計)人: | 韓宇超;姚偉濤 | 申請(專利權)人: | 杭州哲信信息技術有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/53;G06F8/41 |
| 代理公司: | 北京君泊知識產權代理有限公司 11496 | 代理人: | 王程遠 |
| 地址: | 310020 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 中間 語言 解釋 平臺 源碼 虛擬 保護 方法 | ||
本發明公開了一種基于中間語言解釋器的跨平臺源碼虛擬化保護方法,該方法包括:將源代碼轉換成中間語言,生成原始的中間文件;對原始的中間語言進行混淆處理,生成混淆后的中間文件;根據LLVM的bitcode文件格式表修改LLVM的bitcode生成規則,將混淆處理后的中間文件轉化成隨機格式的bitcode文件;根據轉化成的隨機格式的bitcode文件,修改原始的bitcode解釋器,得到與其相對應的bitcode解釋器;將修改后的bitcode解釋器按照目標編譯器架構輸出,并將與其對應的bitcode嵌入到數據段中,完成編譯,生成保護后的可執行文件。本發明的有益效果為:將混淆與虛擬機保護技術結合,增加了源碼保護力度;利用LLVM特性,使得虛擬機與語言及平臺無關,有良好的通用性。
技術領域
本發明涉及軟件安全技術領域,具體而言,涉及一種基于中間語言解釋器的跨平臺源碼虛擬化保護方法。
背景技術
隨著軟件生態的高速發展,如何保護軟件產品的安全性和完整性成了一個越來越重要的話題,代碼混淆、虛擬機保護作為成熟的軟件保護策略已經廣泛地被應用于各類生產環境中。現今符號執行等二進制分析技術越來越成熟,以OLLVM為代表的代碼混淆技術普遍采用了基本塊分割、指令替換、控制流平展、偽造分支和字符串混淆等技術。對與分支跳轉的混淆,即分支偽造、控制流平展,可以使用符號執行來確定真實的代碼執行邏輯,但由于市面上已存在極為成熟的反編譯引擎,符號執行技術愈發成熟,諸如angr、Miasm等二進制分析框架中均包含比較成熟的符號執行引擎。對于塊分支混淆,可以用符號執行來識別;對于字符串混淆,經過反編譯等手段,加以理解,便能抽出其中地加解密邏輯,在匯編層面,這種混淆技術仍能被正確地反編譯,通過分析匯編代碼依舊可以分析出原始代碼邏輯,因此該類混淆技術存在被破解的風險,且單純的混淆并不能滿足現在的軟件生態領域所需的保護力度。
另外,虛擬機保護的實現仍有較大的局限性。對于匯編語言的解釋器來說,傳統的虛擬機保護技術往往需要針對不同CPU架構實現不同的虛擬指令映射,這種方式存在執行效率、難以調試等問題;對于高級語言的解釋器來說,需要調整源代碼的結構來實現高級語言解釋器,但會破壞源代碼的原始結構,一定程度上存在源碼泄露的風險,且與語言相關,適配新語言同樣需要重新設計。
發明內容
為解決上述問題,本發明的目的在于提供一種基于中間語言解釋器的跨平臺源碼虛擬化保護方法,該方法包括以下步驟:
步驟101:將源代碼轉換成中間語言,生成原始的中間文件;
步驟102:對原始的中間語言進行混淆處理,生成混淆后的中間文件;
步驟103:根據LLVM的bitcode文件格式表修改LLVM的bitcode生成規則,將混淆處理后的中間文件轉化成隨機格式的bitcode文件;
步驟104:根據轉化成的隨機格式的bitcode文件,修改原始的bitcode解釋器,得到與其相對應的bitcode解釋器;
步驟105:將修改后的bitcode解釋器按照目標編譯器架構輸出,并將與其對應的的bitcode嵌入到數據段中,完成編譯,生成保護后的可執行文件。
作為本發明進一步的改進,步驟103中,修改LLVM的bitcode生成規則是通過在原始的基礎上添加一個bitcode文件格式表,根據bitcode文件格式表打亂LLVM bitcodefile format。
作為本發明進一步的改進,步驟103中,bitcode文件格式通過多個映射關系指定。
作為本發明進一步的改進,步驟103中,bitcode文件格式通過將函數聲明表和參數表采用一個取值函數建立映射關系來指定。
作為本發明進一步的改進,bitcode文件格式通過增加新的虛擬指令,并由新的虛擬化指令與原指令之間的映射關系指定。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州哲信信息技術有限公司,未經杭州哲信信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811410412.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于量子加密的軟件授權方法、裝置及存儲介質
- 下一篇:一種DEX的保護方法





