[發明專利]一種保護java程序的方法有效
| 申請號: | 201310159747.7 | 申請日: | 2013-05-03 |
| 公開(公告)號: | CN103218551A | 公開(公告)日: | 2013-07-24 |
| 發明(設計)人: | 陸舟;于華章 | 申請(專利權)人: | 飛天誠信科技股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保護 java 程序 方法 | ||
1.一種保護java程序的方法,其特征在于,包括:
步驟A:java虛擬機裝載class文件,并判斷所述class文件是否是合法的文件,如果是,則執行步驟B,否則返回錯誤信息,結束;
步驟B:所述java虛擬機獲取所述class文件中java類方法的總個數和java類方法的起始位置,根據所述起始位置找到當前java類方法;
步驟C:所述java虛擬機解析當前java類方法對應的java指令,并判斷是否解析成功,如果是,則執行步驟D,否則返回錯誤信息,結束;
步驟D:所述java虛擬機判斷所述當前java類方法對應的java指令是否符合預設可移植指令條件,如果是,則將所述當前java類方法對應的java指令移植并保存到預設緩沖區中,執行步驟E,否則執行步驟G;
步驟E:所述java虛擬機獲取當前java類方法的最大java虛擬機棧深度和最大局部變量個數;
步驟F:所述java虛擬機根據所述最大java虛擬機棧深度和最大局部變量個數,用獲取棧和局部變量的java類方法、執行加密鎖內虛擬機的java類方法與修改棧和局部變量的java類方法填充所述class文件中被移植的java指令的位置,執行步驟G;
步驟G:所述java虛擬機判斷已解析的java類方法的個數是否達到所述class文件中java類方法的總個數,如果是,則將所述預設緩沖區中的當前java類方法對應的java指令移植到加密鎖內,結束,否則繼續獲取下一java類方法作為當前java類方法,返回執行步驟C。
2.根據權利要求1所述的方法,其特征在于,所述步驟A中,所述判斷所述class文件是否是合法的文件,具體為:獲取并判斷class文件的文件頭是否為預設字符串,如果是,則表示所述class文件是合法的文件,否則表示所述class文件是不合法的文件。
3.根據權利要求1所述的方法,其特征在于,所述步驟C中,所述解析當前java類方法對應的java指令,具體為:
步驟C-1:所述java虛擬機獲取所述class文件中常量池的個數和常量池的起始位置;
步驟C-2:所述java虛擬機根據當前java類方法的第一成員變量和第二成員變量,從所述常量池中獲取java類方法名稱和java類方法描述符,并判斷是否獲取成功,如果是,則執行步驟C-3,否則返回錯誤信息,結束;
步驟C-3:所述java虛擬機根據當前java類方法的第三成員變量和第四成員變量,獲取當前java類方法的附加屬性,并判斷是否獲取成功,如果是,則執行步驟D,否則返回錯誤信息,結束。
4.根據權利要求3所述的方法,其特征在于,所述當前java類方法的第一成員變量是對所述常量池中的java類方法名稱的索引;所述當前java類方法的第二成員變量是對所述常量池中java類方法描述符的索引;所述當前java類方法的第三成員變量為當前java類方法的附加屬性的個數;所述當前java類方法的第四成員變量為當前java類方法的附加屬性的起始位置。
5.根據權利要求3或4所述的方法,其特征在于,所述附加屬性包括code屬性,code屬性中包括當前java類方法的java指令和當前java類方法的java指令的長度。
6.根據權利要求3所述的方法,其特征在于,所述步驟C與所述步驟D之間包括:
步驟A-1:所述java虛擬機顯示class文件的當前java類方法和當前java類方法對應的java指令;
步驟B-1:所述java虛擬機判斷已解析的java類方法的個數是否超過所述class文件中java類方法的總個數,如果是,則執行步驟C-1,否則將下一java類方法作為當前java類方法,返回執行步驟C;
步驟C-1:所述java虛擬機接收用戶對顯示的java類方法和java類方法對應的java指令的選擇,根據所述附加屬性,獲取用戶選擇的java類方法對應的java指令的起始位置,根據所述起始位置,找到當前java類方法對應的java指令,執行步驟D。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于飛天誠信科技股份有限公司,未經飛天誠信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201310159747.7/1.html,轉載請聲明來源鉆瓜專利網。





