一种软件授权随机加密方法和装置的制造方法

文档序号:10613132阅读:192来源:国知局
一种软件授权随机加密方法和装置的制造方法
【专利摘要】本发明公开了一种软件授权随机加密方法和装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤:首先接收单元接收客户端发送的待授权的软件;而后加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列;而后处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;而后发送单元将处理单元生成的可执行软件发送至客户端。由于加密序列的生成是随机选取若干加密算法并乱序生成,破解者即使在破解了某一软件后,也无法以相同的方式破解其他软件,大大提高了软件在线授权的安全性。
【专利说明】
一种软件授权随机加密方法和装置
技术领域
[0001]本发明涉及计算机软件反破解领域,特别涉及一种软件授权随机加密方法和装置。
【背景技术】
[0002]随着科学技术的发展,软件的应用也越来越广。对于个人开发的软件而言,为了避免软件在未经许可的情况下被拷贝使用,因而进行软件授权是十分必要的。现有的软件在线授权,大部分都是通过调用授权提供方提供的授权模块,通过固定的加解密校验流程来进行数据的在线交互校验,而破解者往往针对一种授权方式,只需做一次破解,即可将破解方法适用于所有使用该授权的软件中进行破解,达到一劳永逸的目的。

【发明内容】

[0003]为此,需要提供一种软件授权随机加密的技术方案,用以解决现有的软件在线授权方法由于采取固定加密算法进行软件授权,存在着不安全、易被破解的问题。
[0004]为实现上述目的,发明人提供了一种软件授权随机加密装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;
[0005]所述接收单元用于接收客户端发送的待授权的软件;
[0006]所述加密序列生成单元用于从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列;
[0007]所述处理单元用于将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;
[0008]所述发送单元用于将处理单元生成的可执行软件发送至客户端。
[0009]进一步地,所述服务端还包括花指令设置单元,所述花指令设置单元用于增加花指令,则所述处理单元用于将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。
[0010]进一步地,所述处理单元还用于对编译生成的可执行软件进行加壳处理。
[0011 ] 进一步地,所述加密算法包括rc4加密算法、rc6加密算法、aes加密算法、des加密算法。进一步地,所述服务端还包括注册码生成单元和授权单元,所述注册码生成单元用于生成注册码;所述服务端用于接收用户发送的加密后的注册码,所述加密后的注册码是指以加密序列顺序对应的若干加密算法进行加密后的注册码;所述服务端用于接收加密后的注册码,所述授权单元用于对加密后的注册码进行解密并判断注册码是否有效,若是则可执行软件运行认证通过,否则可执行软件软件不可运行。
[0012]发明人还提供了一种软件授权随机加密方法,所述方法应用于软件授权随机加密装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤:
[0013]接收单元接收客户端发送的待授权的软件;
[0014]加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列;
[0015]处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;
[0016]发送单元将处理单元生成的可执行软件发送至客户端。
[0017]进一步地,所述服务端还包括花指令设置单元,所述方法包括:
[0018]花指令设置单元增加花指令;
[0019]处理单元将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。
[0020]进一步地,所述方法还包括:
[0021 ]处理单元对编译生成的可执行软件进行加壳处理。
[0022]进一步地,所述加密算法包括rc4加密算法、rc6加密算法、aes加密算法、des加密算法。
[0023]进一步地,所述服务端还包括注册码生成单元和授权单元,所述方法包括:
[0024]注册码生成单元生成注册码;
[0025]服务端接收用户发送的加密后的注册码,加密后的注册码是指以加密序列顺序对应的若干加密算法进行加密后的注册码;
[0026]服务端接收加密后的注册码,所述授权单元对加密后的注册码进行解密并判断注册码是否有效,若是则可执行软件运行认证通过,否则可执行软件软件不可运行。
[0027]上述技术方案所述的一种软件授权随机加密方法和装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤:首先接收单元接收客户端发送的待授权的软件;而后加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列;而后处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;而后发送单元将处理单元生成的可执行软件发送至客户端。由于加密序列的生成以及加密算法的选择是从存储单元中存储的诸多加密算法中,随机选取若干加密算法,并乱序生成加密序列,因而每个在线授权软件其对应的解密方式各不相同,破解者即使在破解了某一软件后,也无法破解其他软件,因而大大提高了软件在线授权的安全性。
【附图说明】
[0028]图1为本发明一实施方式涉及的软件授权随机加密装置的示意图;
[0029]图2为本发明一实施方式涉及的软件授权随机加密方法的流程图;
[0030]附图标记说明:
[0031]101、客户端;
[0032]102、服务端;
[0033]m、接收单元;
[0034]112、加密序列生成单元;
[0035]113、处理单元;
[0036]114、花指令设置单元;
[0037]115、发送单元;
[0038]116、存储单元。
[0039]117、注册码生成单元
[0040]118、授权单元
【具体实施方式】
[0041]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0042]请参阅图1,为本发明一实施方式涉及的软件授权随机加密装置的示意图。所述装置包括客户端101和服务端102,所述服务端包括发送单元115、接收单元111、存储单元116、加密序列生成单元112和处理单元113。所述客户端为待授权的软件的发送端,可以为平板、手机、个人计算机等。所述服务端为待授权软件的接收端,可以为服务器等。
[0043]所述接收单元111用于接收客户端发送的待授权的软件;
[0044]所述加密序列生成单元112用于从存储单元116中任选若干加密算法,并生成若干加密算法对应的加密序列;
[0045]所述处理单元113用于将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;
[0046]所述发送单元115用于将处理单元生成的可执行软件发送至客户端。
[0047]在使用软件授权随机加密装置时,首先接收单元接收客户端发送的待授权的软件。待授权的软件为需要进行软件授权的软件,软件授权是指使用在线加密授权的方式进行授权保护,所有的安全算法和数据都使用网络方法来实现和提供。待授权的软件为可执行程序,例如可以为脚本等。
[0048]而后加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列。例如服务端的存储单元中可以预先存储m种加密算法,当需要生成加密序列时,则从m种加密算法中随机选择η种加密算法(m、n均为正整数,且η不大于m),并将这η种算法乱序排列生成加密序列。所述加密序列为表征所选择的若干种算法加密或解密顺序的序列。在本实施方式中,所述加密算法包括但不限于rc4加密算法、rc6加密算法、aes加密算法、des加密算法。
[0049]而后处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。编译生成可执行软件后,客户端就可以从服务端下载该软件,表示软件在线注入加密授权模块编译完毕。而后发送单元将处理单元生成的可执行软件发送至客户端。客户端接收可执行软件后,可以将可执行软件发布给用户使用。
[0050]在本实施方式中,所述服务端还包括注册码生成单元和授权单元,用户在运行可执行软件时,会被要求输入注册码,该注册码可以通过服务端提供的注册码生成单元获得,注册码生成单元会将注册码信息记录到服务端的存储单元中,注册码信息包括注册码以及该注册码对应的有效期。
[0051]而后用户输入注册码后,可执行软件根据此前得到的η种算法的加密序列对注册码进行加密上传至服务端的授权单元,由服务端的授权单元访问存储单元来判断注册码是否处于有效期,若处于有效期,则可执行软件可以运行,否则可执行软件异常退出。
[0052]在本实施方式中,所述服务端还包括花指令设置单元114,所述花指令设置单元用于增加花指令,则所述处理单元用于将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。花指令是由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。经典的是,目标位置是另一条指令的中间,这样在反汇编的时候便会出现混乱。这样,进一步增加了破解者在破解该可执行软件的难度,提高了软件的安全性。
[0053]在本实施方式中,所述处理单元还用于对编译生成的可执行软件进行加壳处理。加壳处理其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩,改变其原来的特征码,隐藏一些字符串等等,使一些资源编辑软件不能正常打开或者修改。通过在线编译及加壳处理,破解者破解采用上述方法加密的不同软件的PE结构均是不同的,大大提高了软件的破解难度。
[0054]如图2所示,发明人还提供了一种软件授权随机加密方法,所述方法应用于软件授权随机加密装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤:
[0055]首先进入步骤S201接收单元接收客户端发送的待授权的软件。待授权的软件为需要进行软件授权的软件,软件授权是指使用在线加密授权的方式进行授权保护,所有的安全算法和数据都使用网络方法来实现和提供。待授权的软件为可执行程序,例如可以为脚本等。
[0056]而后进入步骤S202加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列。例如服务端的存储单元中可以预先存储m种加密算法,当需要生成加密序列时,则从m种加密算法中随机选择η种加密算法(m、n均为正整数,且η不大于m),并将这η种算法乱序排列生成加密序列。所述加密序列为表征所选择的若干种算法加密或解密顺序的序列。在本实施方式中,所述加密算法包括但不限于rc4加密算法、rc6加密算法、ae s加密算法、de s加密算法。
[0057]而后进入步骤S203处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。编译生成可执行软件后,客户端就可以从服务端下载该软件,表示软件在线注入加密授权模块编译完毕。而后进入步骤S204发送单元将处理单元生成的可执行软件发送至客户端。客户端接收可执行软件后,可以将可执行软件发布给用户使用。
[0058]而后进入步骤S205服务端接收用户发送的加密后的注册码,加密后的注册码是指以加密序列顺序对应的若干加密算法进行加密后的注册码。而后进入步骤S206授权单元对加密后的注册码进行解密并判断注册码是否有效,若是则进入步骤S207可执行软件运行认证通过,否则进入步骤S208可执行软件软件不可运行。注册码是否有效可以根据存储单元存储的该注册码对应的有效期限来决定。
[0059]在本实施方式中,所述服务端还包括花指令设置单元,所述方法包括:花指令设置单元增加花指令;处理单元将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。花指令是由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。经典的是,目标位置是另一条指令的中间,这样在反汇编的时候便会出现混乱。这样,进一步增加了破解者在破解该可执行软件的难度,提高了软件的安全性。
[0060]在本实施方式中,所述方法包括:处理单元对编译生成的可执行软件进行加壳处理。加壳处理其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩,改变其原来的特征码,隐藏一些字符串等等,使一些资源编辑软件不能正常打开或者修改。通过在线编译及加壳处理,破解者破解采用上述方法加密的不同软件的PE结构均是不同的,大大提高了软件的破解难度。
[0061]上述技术方案所述的一种软件授权随机加密方法和装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤:首先接收单元接收客户端发送的待授权的软件;而后加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列;而后处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件;而后发送单元将处理单元生成的可执行软件发送至客户端。由于加密序列的生成以及加密算法的选择是从存储单元中存储的诸多加密算法中,随机选取若干加密算法,并乱序生成加密序列,因而每个在线授权软件其对应的解密方式各不相同,破解者即使在破解了某一软件后,也无法用相同的形式破解其他软件,因而大大提高了软件在线授权的安全性。
[0062]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者客户端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者客户端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者客户端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0063]本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动客户端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、R0M、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0064]上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0065]这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0066]这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0067]尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
【主权项】
1.一种软件授权随机加密装置,其特征在于,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元; 所述接收单元用于接收客户端发送的待授权的软件; 所述加密序列生成单元用于从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列; 所述处理单元用于将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件; 所述发送单元用于将处理单元生成的可执行软件发送至客户端。2.如权利要求1所述的软件授权随机加密装置,其特征在于,所述服务端还包括花指令设置单元,所述花指令设置单元用于增加花指令,则所述处理单元用于将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。3.如权利要求1所述的软件授权随机加密装置,其特征在于,所述处理单元还用于对编译生成的可执行软件进行加壳处理。4.如权利要求1所述的软件授权随机加密装置,其特征在于,所述加密算法包括rc4加密算法、rc6加密算法、aes加密算法、des加密算法。5.如权利要求1所述的软件授权随机加密装置,其特征在于,所述服务端还包括注册码生成单元和授权单元,所述注册码生成单元用于生成注册码;所述服务端用于接收用户发送的加密后的注册码,所述加密后的注册码是指以加密序列顺序对应的若干加密算法进行加密后的注册码;所述服务端用于接收加密后的注册码,所述授权单元用于对加密后的注册码进行解密并判断注册码是否有效,若是则可执行软件运行认证通过,否则可执行软件软件不可运行。6.一种软件授权随机加密方法,其特征在于,所述方法应用于软件授权随机加密装置,所述装置包括客户端和服务端,所述服务端包括发送单元、接收单元、存储单元、加密序列生成单元和处理单元;所述方法包括如下步骤: 接收单元接收客户端发送的待授权的软件; 加密序列生成单元从存储单元中任选若干加密算法,并生成若干加密算法对应的加密序列; 处理单元将待授权的软件、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件; 发送单元将处理单元生成的可执行软件发送至客户端。7.如权利要求6所述的软件授权随机加密方法,其特征在于,所述服务端还包括花指令设置单元,所述方法包括: 花指令设置单元增加花指令; 处理单元将待授权的软件、花指令、若干加密算法以及若干加密算法对应的加密序列编译生成可执行软件。8.如权利要求6所述的软件授权随机加密方法,其特征在于,所述方法还包括: 处理单元对编译生成的可执行软件进行加壳处理。9.如权利要求6所述的软件授权随机加密方法,其特征在于,所述加密算法包括但不限于rc4加密算法、rc6加密算法、aes加密算法、des加密算法。10.如权利要求6所述的软件授权随机加密方法,其特征在于,所述服务端还包括注册码生成单元和授权单元,所述方法包括: 注册码生成单元生成注册码; 服务端接收用户发送的加密后的注册码,加密后的注册码是指以加密序列顺序对应的若干加密算法进行加密后的注册码; 服务端接收加密后的注册码,所述授权单元对加密后的注册码进行解密并判断注册码是否有效,若是则可执行软件运行认证通过,否则可执行软件软件不可运行。
【文档编号】G06F21/10GK105975813SQ201610332914
【公开日】2016年9月28日
【申请日】2016年5月19日
【发明人】李琦, 李玮, 汪小烽, 林志敏, 吴启华, 连寿哲
【申请人】福建创意嘉和软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1