[發明專利]代碼的編譯方法及裝置在審
| 申請號: | 201811256413.0 | 申請日: | 2018-10-25 |
| 公開(公告)號: | CN109460237A | 公開(公告)日: | 2019-03-12 |
| 發明(設計)人: | 陳樹華;泮曉波 | 申請(專利權)人: | 北京頂象技術有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/455;G06F21/53 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 王文紅 |
| 地址: | 100000 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 編譯 多行 數據處理技術 代碼編譯 分析 逐行 攻擊 轉換 申請 | ||
本申請實施例提供了一種代碼的編譯方法及裝置,涉及數據處理技術領域。方法包括:獲得Java類文件中的待編譯的Java字節碼;將待編譯的Java字節碼編譯為待編譯的中間表達式;根據對所述待編譯的中間表達式的分析,獲得分析結果;根據分析結果逐行的將待編譯的中間表達式中的多行代碼編譯為一一對應的多行CPP代碼。由于CPP代碼難以被分析,故將Java字節碼最終轉換成多行CPP代碼來運行,使得安全性得到了提升,解決了由于Java的代碼非常容易的被攻擊者逆向分析而導致給用戶的安全性得不到保障的技術問題。
技術領域
本申請涉及數據處理技術領域,具體而言,涉及一種代碼的編譯方法及裝置。
背景技術
目前,Java作為一種廣泛使用的電腦程式設計語言,擁有跨平臺、物件導向、泛型程式設計等特性,其已經被廣泛的應用于各種應用開發中。
Java的代碼經過編譯后直接發布便可運行在Java的虛擬機上。但由于Java有邏輯完整的描述文檔,導致Java的代碼非常容易的被攻擊者逆向分析,導致給用戶的安全性得不到保障。
發明內容
本申請在于提供一種代碼的編譯方法及裝置,以有效的改善上述的缺陷。
為了實現上述目的,本申請的實施例通過如下方式實現:
第一方面,本申請實施例提供了一種代碼的編譯方法,所述方法包括:獲得Java類文件中的待編譯的Java字節碼;將所述待編譯的Java字節碼編譯為待編譯的中間表達式;根據對所述待編譯的中間表達式的分析,獲得分析結果;根據所述分析結果逐行的將所述待編譯的中間表達式中的多行代碼編譯為一一對應的多行CPP代碼。
在第一方面的一些可選的實現方式中,所述根據所述分析結果逐行的將所述待編譯的中間表達式中的多行代碼編譯為一一對應的多行CPP代碼,包括:將所述待編譯的中間表達式中的多行代碼逐行的映射到預設的代碼編譯框架中的編譯區域;根據所述分析結果逐行的編譯所述編譯區域中的所述多行代碼,在所述代碼編譯框架中與所述編譯區域對應的生成區域中,生成與所述多行代碼一一對應的多行CPP代碼。
在第一方面的一些可選的實現方式中,所述根據對所述待編譯的中間表達式的分析,獲得分析結果,包括:基于對所述待編譯的中間表達式中每個變量的數據特征的分析,獲得每個變量的分析結果;對應的,所述多行代碼中每行代碼包括多個變量,所述根據所述分析結果逐行的編譯所述編譯區域中的所述多行代碼,在所述代碼編譯框架中與所述編譯區域對應的生成區域中,生成與所述多行代碼一一對應的多行CPP代碼,包括:根據每個變量的所述分析結果,逐行的編譯所述編譯區域中的所述多行代碼,使得每行代碼中的每個變量均根據每個變量的所述分析結果而被編譯;在所述代碼編譯框架中與所述編譯區域對應的生成區域中,生成與所述多行代碼一一對應的多行CPP代碼。
在第一方面的一些可選的實現方式中,所述將所述待編譯的Java字節碼編譯為相應的待編譯的中間表達式,包括:根據所述待編譯的中間表達式中每個變量的執行時間段相對于所述待編譯的中間表達式中其它變量的其它執行時間段的先后順序,生成用于為每個變量分配對應寄存器的指示指令,其中,被分配的所述寄存器能夠依次執行所述中間表達式中的多個變量,使得被分配的所述寄存器的總數為滿足執行所述中間表達式中所有變量的最小值;獲得每個變量的所述指示指令。
在第一方面的一些可選的實現方式中,所述根據所述分析結果逐行的將所述中間表達式中的多行代碼編譯為一一對應的多行CPP代碼之后,所述方法還包括:根據所述多行CPP代碼生成庫文件。
在第一方面的一些可選的實現方式中,所述根據所述分析結果逐行的將所述中間表達式中的多行代碼編譯為一一對應的多行CPP代碼之后,所述方法還包括:將所述Java類文件中的所述待編譯的Java字節碼替換為索引標識,其中,所述索引標識與所述多行CPP代碼關聯或與所述多行CPP代碼生成庫文件關聯。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京頂象技術有限公司,未經北京頂象技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811256413.0/2.html,轉載請聲明來源鉆瓜專利網。





