[发明专利]Java源代码的保护方法和系统有效
申请号: | 201110288519.0 | 申请日: | 2011-09-26 |
公开(公告)号: | CN102360412A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/24 | 分类号: | G06F21/24 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 吴贵明;余刚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 源代码 保护 方法 系统 | ||
1.一种Java源代码的保护方法,其特征在于,在第一启动类被调用时该方法包括以 下步骤,其中,所述第一启动类为Java程序的启动类:
S1:所述第一启动类将第一密文数据读入内存进行解密,得到第一明文数据, 并将所述第一明文数据定义为类加载器,其中,所述第一密文数据为类加载器的 字节码文件加密后得到的数据;
S2:所述类加载器将第二密文数据读入内存进行解密,得到第二明文数据, 并将所述第二明文数据定义为第一类,其中,所述第一类为Java虚拟机运行的类, 其后缀名为.class,所述第二密文数据为所述第一类的字节码文件加密后得到的数 据;
S3:所述类加载器将第二启动类加载到内存,其中,所述第二启动类为Java 程序的jar包中的原启动类;以及
S4:所述类加载器将所述第一类加载到所述Java虚拟机,以便所述Java虚拟 机能够调用所述第二启动类中的主接口,运行所述Java程序。
2.根据权利要求1所述的Java源代码的保护方法,其特征在于,所述步骤S1包括:
S11:所述第一启动类将所述第一密文数据读入内存;
S12:所述第一启动类将本地的第一动态库加载到内存;
S13:所述第一启动类调用所述第一动态库中的第三接口;
S14:所述第一启动类将所述第一密文数据在内存中的地址传入所述第一动态 库中的第三接口;
S15:所述第一动态库中的第三接口对所述第一密文数据进行解密,得到所述 第一明文数据;以及
S16:所述第一动态库中的第三接口调用Java虚拟机的定义类接口将所述第 一明文数据定义为所述类加载器。
3.根据权利要求2所述的Java源代码的保护方法,其特征在于,步骤S11包括:
S111:调用所述第一启动类中的第一接口;
S112:所述第一启动类中的第一接口调用所述第一启动类中的第二接口;以 及
S113:所述第一启动类中的第二接口将第一密文数据读入内存。
4.根据权利要求2所述的Java源代码的保护方法,其特征在于,步骤S3包括:
S31:所述第一动态库中的第三接口调用所述类加载器中的第四接口;
S32:所述类加载器中的第四接口读出所述Java程序的jar包中的配置文件;
S33:所述类加载器中的第四接口从所述配置文件中读出所述第二启动类;
S34:所述类加载器中的第四接口调用所述类加载器中的第五接口;以及
S35:所述类加载器中的第五接口将所述第二启动类加载到内存。
5.根据权利要求4所述的Java源代码的保护方法,其特征在于,步骤S2包括:
S21:所述类加载器中的第五接口调用所述类加载器中的第六接口;
S22:所述类加载器中的第六接口将所述第二密文数据读入内存;
S23:所述类加载器中的第五接口对所述第二密文数据进行解密得到第二明文 数据;以及
S24:所述类加载器的第五接口调用Java虚拟机的定义类接口将所述第二明 文数据定义为所述第一类。
6.根据权利要求1所述的Java源代码的保护方法,其特征在于,通过以下方式对所 述第一密文数据和所述第二密文数据进行解密:
S2001:调用加密锁接口检索是否有加密锁;
S2002:在检索到所述加密锁时,调用所述加密锁接口将密文数据传入所述加 密锁中;
S2003:调用所述加密锁接口使用存储在所述加密锁中的密钥对传入的所述密 文数据进行解密,得到明文数据;以及
S2004:调用所述加密锁接口获取所述明文数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110288519.0/1.html,转载请声明来源钻瓜专利网。