[发明专利]一种动态生成License验证方式的授权方法及存储介质在审
| 申请号: | 202111455546.2 | 申请日: | 2021-12-01 |
| 公开(公告)号: | CN114117363A | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 陈天宇;叶章明;侯祥钦;杨劼;聂达林;张汀勇;张勤富 | 申请(专利权)人: | 福建博思数字科技有限公司;福建博思软件股份有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/44;G06F21/60;G06F21/64 |
| 代理公司: | 福州市景弘专利代理事务所(普通合伙) 35219 | 代理人: | 魏小霞 |
| 地址: | 350200 福建省福州市长乐*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 生成 license 验证 方式 授权 方法 存储 介质 | ||
本发明涉及一种动态生成License验证方式的授权方法及存储介质,所述方法包括以下步骤:获取机器上的特征码,通过加密得到License文件;Java应用启动时,读取License文件中的License信息,将读取的信息中的key信息作为成员变量名及值信息作为成员变量值存储在字节码动态生成的类中;通过字节码技术,生成验证License信息的授权验证类;将生成的授权验证类实例化,传入Java应用生成验证任务,验证License文件中的信息,若授权失败,则终止当前程序。验证License文件的代码是通过字节码方式生成的,即使Java项目的class文件被拿到了,通过反编译class文件,也无法通过全文搜索到License验证的代码。
技术领域
本发明涉及Java应用安全技术领域,特别涉及一种动态生成License验证方式的授权方法及存储介质。
背景技术
Java语言是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java软件主流的授权是生成一个license文件,在该文件中记录授权需要的字段及加密签名字段。Java应用在启动、运行中时去读取license文件,根据license文件中的数据,判断授权的真假。Java是一种易于被反编译的语言,用户拿到Java语言编写的软件后,通过class字节码文件可反编译代码,结合授权不通过给出的提示,通过全文搜索的方式,很容易就找到授权验证的相关代码,修改代码后可绕过授权。而现有的Java应用程序保护方法中,如公开号为CN112733094A的一种Java应用程序的安全保护方法,通过使用Go语音给加密后的应用加壳,并将解密秘钥、授权校验算法写进Go编写的程序里面,但Go语言写的壳程序仍然可能被破解,最终通过Go破解到Java应用;如公开号为CN109460674A的一种JAVA应用程序保护方法,通过加解密链接库,基于加密秘钥对目标应用程序进行加密处理,生成加密应用程序,然而Java语言是一种跨平台的语言,但是编写链接库的语言不是,在不同的机器上很可能需要重新编译,在有些版本的机器上可能编译不通过。
发明内容
为此,需要提供一种动态生成License验证方式的授权方法及存储介质,解决现有Java易于被反编译,容易被找到授权验证的相关代码的问题。
为实现上述目的,发明人提供了一种动态生成License验证方式的授权方法,包括以下步骤:
获取机器上的特征码,通过加密得到License文件;
Java应用启动时,读取License文件中的License信息,将读取的信息中的key信息作为成员变量名及值信息作为成员变量值存储在字节码动态生成的类中;
通过字节码技术,生成验证License信息的授权验证类;
将生成的授权验证类实例化,传入Java应用生成验证任务,验证License文件中的信息,若授权失败,则终止当前程序。
进一步优化,所述特征码包括MAC地址、硬盘编号和CPU编号中的一种或者多种。
进一步优化,所述步骤“获取机器上的特征码,通过加密得到License文件”具体包括以下步骤:
获取机器上的特征码以及明文字段,通过加密技术及签名技术生成密文及签名,将明文字段、密文及签名放置到License文件中。
进一步优化,所述步骤“生成验证License信息的授权验证类”具体包括以下步骤:
随机生成验证License信息的授权验证类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建博思数字科技有限公司;福建博思软件股份有限公司,未经福建博思数字科技有限公司;福建博思软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111455546.2/2.html,转载请声明来源钻瓜专利网。





