[发明专利]一种Jar文件保护方法及Jar程序运行方法在审
申请号: | 202211196128.0 | 申请日: | 2022-09-29 |
公开(公告)号: | CN115618405A | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 王荣生;王传熙;阮义清 | 申请(专利权)人: | 福建正孚软件有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 福州市景弘专利代理事务所(普通合伙) 35219 | 代理人: | 施文武 |
地址: | 350001 福建省福州市鼓楼*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 jar 文件 保护 方法 程序 运行 | ||
本发明涉及一种Jar文件保护方法及Jar程序运行方法,所述保护方法包括:对待加密Jar文件进行解压并分类得到业务代码、依赖包及META‑INFO程序描述配置文件目录;记录待加密文件的源文件路径并以文件方式存储生成INDEX‑PATH文件;将待加密文件通过公钥进行加密后存储至CLASS‑FILES文件中;将公钥转化为二进制后存放入META‑INFO程序描述配置文件目录中;将INDEX‑PATH文件、CLASS‑FILES文件及META‑INFO程序描述配置文件目录进行重新打包得到加密后的Jar文件。对Jar文件进行加密处理,大大增加反编译的难度,极大保护软件产品的安全性以及防篡改能力。
技术领域
本申请涉及Java技术领域,具体涉及一种Jar文件保护方法及Jar程序运行方法。
背景技术
Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
而Java字节码是Java虚拟机执行的一种虚拟指令格式。Java字节码(英语:Javabytecode)大多数操作码都是一个字节长,而有些操作需要参数,导致了有一些多字节的操作码。然而由于Java字节码的抽象级别较高,较容易被反编译。
发明内容
鉴于上述问题,本申请提供了一种Jar文件保护方法及Jar程序运行方法,解决由于Java字节码的抽象级别较高,较容易被反编译的问题。
为实现上述目的,发明人提供了一种Jar文件保护方法,包括:
通过国密算法生成公钥及秘钥;
对待加密Jar文件进行解压并分类得到业务代码、依赖包及META-INFO程序描述配置文件目录;
将业务代码及依赖包作为待加密文件,记录待加密文件的源文件路径并以文件方式存储生成INDEX-PATH文件;
将待加密文件通过国密算法生成的公钥进行加密后存储至CLASS-FILES文件中;
将国密算法生成的公钥转化为二进制后存放入META-INFO程序描述配置文件目录下的MANIFEST.MF文件中,并以新属性信息存储;
将INDEX-PATH文件、CLASS-FILES文件及META-INFO程序描述配置文件目录进行重新打包得到加密后的Jar文件。
进一步优化,还包括以下步骤:
将国密算法生成的秘钥进行二进制转化后作为产品序列号。
进一步优化,所述步骤“将INDEX-PATH文件及CLASS-FILES文件进行重新打包得到加密后的Jar文件”具体包括以下步骤:
根据INDEX-PATH文件记录的文件路径,将加密后的文件按照该文件路径一一存放后删除源文件,并加入预先编译的主程序解析代码。
进一步优化,还包括以下步骤:
修改MANIFEST.MF文件中Main-Class值为预先编译的主程序解析代码的启动类路径。
进一步优化,所述步骤“将国密算法生成的公钥转化为二进制后存放入META-INFO程序描述配置文件目录下的MANIFEST.MF文件中”具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建正孚软件有限公司,未经福建正孚软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211196128.0/2.html,转载请声明来源钻瓜专利网。