【技术实现步骤摘要】
基于license文件对JAVA类软件实现授权控制的方法
本专利技术主要涉及到软件授权管理
,特指一种基于license文件对JAVA类软件实现授权控制的方法。
技术介绍
由于JAVA代码本身限制,JVM虚拟机上运行的是符合规范的class二进制文件,通过常用的反汇编工具可以查看完整的原始代码;而在对软件的授权使用方面的控制基本方法是通过一定的算法计算出一系列注册号,由软件的开发组织发给对应的软件使用者,软件启动和使用过程中再根据相同的算法还原注册号对应的鉴权信息加以验证。针对上述传统的方法和机制依然存在很大的风险,具体包括如下:(1)使用一些JAVA代码层的混淆工具,如proguard等对编译工具输入的.class文件做混淆,原方法名、变量名会变成a.b.c之类的名称;是可以在一定程度上对反汇编出来代码的可读性起到一定的加强作用,但这也取决于源码中逻辑的复杂性,越是复杂的代码混淆后被反汇编出来的源码越难读懂,只是增大破译难度,本质上并没有起到代码加密的效果,高级的软件开发人员只要多花些时间成本还是可以读出原判断逻辑进而达到软件破解目的。(2)对原始的核心受修护的.class类文件做一次加密处理,再通过自定义的JAVA类加载器实现对这个class文件的解密加载处理。由于加过密后的类文件不符合class文件的规范,所以自然是不可能被反汇编工具看到源码的,可以起到对类文件的保存作用。这里的核心问题是对加密时使用的秘钥的管理(参见下面的第3点说明),如果保护不当同样会被轻易破解。(3) ...
【技术保护点】
1.一种基于license文件对JAVA类软件实现授权控制的方法,其特征在于,步骤包括:/n步骤S1:上层用户软件首次启动时生成本机安装序列号;/n步骤S2:通过页面提交软件注册信息;/n步骤S3:通过文件监听器生成.lcf2注册文件,并检测文件是否有效;如果有效进行步骤S4,否则跳到步骤S6;/n步骤S4:与用户软件之间建立管道文件.pipe1,向管道中发送授权参数;/n步骤S5:用户软件读取授权控制参数,立即拆除管道文件;用户软件被控制只能在授权模式下运行;/n步骤S6:执行用户软件主进程的kil-9操作,用户软件主进程被操作系统强制杀死,注册控制进程主动退出,至此整个软件的生命周期结束。/n
【技术特征摘要】
1.一种基于license文件对JAVA类软件实现授权控制的方法,其特征在于,步骤包括:
步骤S1:上层用户软件首次启动时生成本机安装序列号;
步骤S2:通过页面提交软件注册信息;
步骤S3:通过文件监听器生成.lcf2注册文件,并检测文件是否有效;如果有效进行步骤S4,否则跳到步骤S6;
步骤S4:与用户软件之间建立管道文件.pipe1,向管道中发送授权参数;
步骤S5:用户软件读取授权控制参数,立即拆除管道文件;用户软件被控制只能在授权模式下运行;
步骤S6:执行用户软件主进程的kil-9操作,用户软件主进程被操作系统强制杀死,注册控制进程主动退出,至此整个软件的生命周期结束。
2.根据权利要求1所述的基于license文件对JAVA类软件实现授权控制的方法,其特征在于,所述步骤S1中,生成软件安装序列号的流程为:取操作系统级的硬件串号,组成一个唯一的软件机器安装序列号;再加上一个本机的时间戳整体采用3DES方式加密显示到软件的首次启动界面上,使每次用户看到的序列号都完全不一样。
3.根据权利要求1所述的基于license文件对JAVA类软件实现授权控制的方法,其特征在于,所述步骤S3中,读取注册文件.lcf2过程为:软件首次启动时通过注册页面上输入的注册文件内容由内部的HkFileLister文件监听器读取到写入本地的.lcf2文件及备份文件.lcf2.first;写入软件过期控制文件.timeOut,第一次尝试读取本地的.lcf2注册文件,如果由于文件内容损坏或被篡改导致文件读取失败则尝试从临时文件.lcf2.tmp中恢复成.lcf2文件并再次读取,如果还失败就从首次生成的备份文件.lcf2.first中恢复成.lcf2文件并再次读取,如果还失败就认为注册文件无效,读取过程结束;读取成功后调用有效性验证方法判断注册文件是否有效,如果有效删除.timeOut文件,读取的文件内容存储在内存注册变量中,读取过程结束并启动超时过期判断服务。
4.根据权利要求1所述的基于license文件对JAVA类软件实现授权控制的方法,其特征在于,所述步骤S3中写入注册文件.lcf2过程为:将实时的内存注册变量中内容先经过3DES加密后再通用Base64Ex工具编码后先写入到临时文件.lcf2.tmp;成功后再拷贝到注册文件.lcf2中,并及时调用fd.sync()执行强制刷盘操作来保证每次都能真正写入磁盘物理文件后再返回。
5.根据权利要求1-4中任意一项所述的基于license文件对JAVA类软件实现授权控制的方法,其特征在于,还包括对超时过期判断服务流程:
步骤S100:检测如果注册文件.lcf2或者内存注册变量为空或不存在返回软件过期,写入控制参数到软件过期控制文件.timeOut;
步骤S200:读取内存注册...
【专利技术属性】
技术研发人员:陈琳,崔岭峰,黄杰,
申请(专利权)人:湖南省星岳天璇科技有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。