一种软件保护方法及装置制造方法及图纸

技术编号:27845523 阅读:23 留言:0更新日期:2021-03-30 12:50
本申请公开了一种软件保护方法及装置。其中方法包括:接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;基于所述认证结果确定所述认证操作的合法性。采用本申请中能够提高被保护软件的安全性。保护软件的安全性。保护软件的安全性。

【技术实现步骤摘要】
一种软件保护方法及装置


[0001]本申请涉及软件保护领域,特别涉及一种软件保护装置及方法。

技术介绍

[0002]随着互联网技术的发展,各种软件应运而生。同时也出现了软件被盗版的问题。软件盗版严重扰乱社会的经济秩序,并极大的阻碍了整个软件行业的发展。因此,必须采取相应的技术措施来防御软件的破解。
[0003]在目前的软件保护技术中,硬件加密锁是最常用,也是比较安全的一种。硬件加密锁是一种采用高强度智能卡芯片和先进的密码学技术,具有一定的运算和存储能力的硬件系统。软件开发者在使用硬件加密锁对开发的软件进行保护时,可以将软件中的一部分功能转移到硬件加密锁中实现,在软件运行时调用这些功能。但是硬件加密锁容易被逆向破解,容易造成软件被非法操作、使用,无法保证软件的安全。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种软件保护方法及装置,用于解决现有技术中的硬件加密锁容易被逆向破解、造成软件被非法使用问题。
[0005]为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种软件保护方法,包括如下步骤:
[0006]接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;
[0007]响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;
[0008]获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;
[0009]基于所述认证结果确定所述认证操作的合法性。
[0010]可选的,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件;所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任意一种。
[0011]可选的,所述的所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式,具体包括:
[0012]所述硬件加密锁中预先存储有用于实现所述目标转换方式的第一虚拟机的代码,以基于所述虚拟机代码对所述虚拟码进行转换,获得所述目标认证算法。
[0013]为了解决上述技术问题,本申请提供一种软件保护方法,包括如下步骤:
[0014]接收终端发送的被保护软件的壳中的目标认证算法的虚拟码以及认证数据;其
中,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件,所述认证数据用于表示软件开发者是否允许指定的软件用户使用第一软件;
[0015]基于预先存储的目标转换方式对所述虚拟码进行转换,以获得与所述虚拟码对应的目标认证算法;
[0016]基于所述目标认证算法对所述认证数据进行认证,获得认证结果;
[0017]将所述认证结果发送给所述终端。
[0018]可选的,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件;所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任意一种。
[0019]可选的,所述方法还包括:
[0020]从加壳工具的数据库中获取用于将所述目标认证算法转换为虚拟码的目标转换方式;
[0021]对用于实现所述目标转换方式的第一虚拟机的代码进行存储。
[0022]为了解决上述技术问题,本申请提供一种软件保护方法,包括如下步骤:
[0023]接收用户从加壳工具数据库中选择的目标认证算法的虚拟码;其中,所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任一种;
[0024]接收认证数据;其中,所述认证数据用于表示软件开发者是否允许指定的软件用户使用第一软件;
[0025]基于所述目标认证算法的虚拟码以及所述认证数据对所述第一软件加壳,获得被保护软件;所述目标认证算法对应的虚拟码和所述认证数据被存储在所述被保护软件的壳中。
[0026]为了解决上述技术问题,本申请提供一种软件保护装置,包括:
[0027]认证操作接收模块,配置为接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;
[0028]响应模块,配置为响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;
[0029]获取模块,配置为获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;
[0030]确定模块,配置为基于所述认证结果确定所述认证操作的合法性。
[0031]为了解决上述技术问题,本申请提供一种软件保护装置,包括:
[0032]接收模块,配置为接收终端发送的被保护软件的壳中的目标认证算法的虚拟码以及认证数据;其中,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件,所述认证数据用于表示软件开发者是否允许指定的软件用户使用第一软件;
[0033]转换模块,配置为基于预先存储的目标转换方式对所述虚拟码进行转换,以获得与所述虚拟码对应的目标认证算法;
[0034]认证模块,配置为基于所述目标认证算法对所述认证数据进行认证,获得认证结
果;
[0035]发送模块,配置为将所述认证结果发送给所述终端。
[0036]为了解决上述技术问题,本申请提供一种软件保护装置,包括:
[0037]第一通信模块,配置为接收用户从加壳工具数据库中选择的目标认证算法的虚拟码;其中,所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任一种;
[0038]第二通信模块,配置为接收认证数据;其中,所述认证数据用于表示软件开发者是否允许指定的软件用户使用第一软件;
[0039]加壳模块,配置为基于所述目标认证算法的虚拟码以及所述认证数据对所述第一软件加壳,获得被保护软件;所述目标认证算法对应的虚拟码和所述认证数据被存储在所述被保护软件的壳中。
[0040]本申请通过将认证算法的虚拟码存储在被保护软件的壳中,这样用户的终端设备的运行、操作、使用该软件时就可以将该被保护软件的壳中的虚拟码以及认证数据发送至硬件加密锁,由硬件加密锁根据预存的目标转换方式对虚拟码进行转换获得认证算法,从而利用该认证算法对认证数据进行认证。本申请中由于是在硬件加密锁中预先存储目标转换方式。只有采用该目标转换方式才能对虚拟码进行转换获得认证算法,因此即使被保护软件的壳中的虚拟码和认证算法被非法获取,也无本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件保护方法,其特征在于,包括如下步骤:接收针对被保护软件的认证操作;其中,所述被保护软件为被加壳后的第一软件,所述被保护软件的壳中存储有认证数据和目标认证算法对应的虚拟码,所述认证数据用于表示第一软件的使用凭证;响应于所述认证操作,将所述被保护软件的壳中的所述虚拟码以及所述认证数据发送至硬件加密锁;获取硬件加密锁反馈的认证结果;其中,所述认证结果由所述硬件加密锁基于与所述虚拟码对应的目标认证算法对所述认证数据进行认证获得的;所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式;基于所述认证结果确定所述认证操作的合法性。2.如权利要求1所述的软件保护方法,其特征在于,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件;所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任意一种。3.如权利要求1所述的方法,其特征在于,所述的所述硬件加密锁中预先存储有将所述虚拟码转换成目标认证算法的目标转换方式,具体包括:所述硬件加密锁中预先存储有用于实现所述目标转换方式的第一虚拟机的代码,以基于所述第一虚拟机的代码对所述虚拟码进行转换,获得所述目标认证算法。4.一种软件保护方法,其特征在于,包括如下步骤:接收终端发送的被保护软件的壳中的目标认证算法的虚拟码以及认证数据;其中,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件,所述认证数据用于表示第一软件的使用凭证;基于预先存储的目标转换方式对所述虚拟码进行转换,以获得与所述虚拟码对应的目标认证算法;基于所述目标认证算法对所述认证数据进行认证,获得认证结果;将所述认证结果发送给所述终端。5.根据权利要求4所述的方法,其特征在于,所述被保护软件为基于加壳工具对第一软件进行加壳处理后的软件;所述加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认证算法中的任意一种。6.如权利要求4所述的方法,其特征在于,所述方法还包括:从加壳工具的数据库中获取用于将所述目标认证算法转换为虚拟码的目标转换方式;对用于实现所述目标转换方式的第一虚拟机的代码进行存储。7.一种软件保护方法,其特征在于,包括如下步骤:接收用户选择的目标认证算法;其中,加壳工具的数据库中存储有至少两种认证算法对应的虚拟码,所述目标认证算法为所述至少两种认...

【专利技术属性】
技术研发人员:孙吉平杜浩浩
申请(专利权)人:北京深思数盾科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1