CN106446616A - 一种软件保护方法及装置 - Google Patents
一种软件保护方法及装置 Download PDFInfo
- Publication number
- CN106446616A CN106446616A CN201610825659.XA CN201610825659A CN106446616A CN 106446616 A CN106446616 A CN 106446616A CN 201610825659 A CN201610825659 A CN 201610825659A CN 106446616 A CN106446616 A CN 106446616A
- Authority
- CN
- China
- Prior art keywords
- code
- target software
- software
- registration
- service code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 238000011084 recovery Methods 0.000 claims description 3
- 238000005336 cracking Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000000682 scanning probe acoustic microscopy Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种软件保护方法及装置,应用于目标软件的客户端。该方法包括以下步骤:在接收到针对目标软件的使用指令时,获得目标软件的注册码;将注册码和机器码发送给服务器,以使服务器在映射表中查询是否存在与注册码和机器码相匹配的对应关系项,如果是,则向客户端返回目标软件对应的业务代码串,如果否,则在确定注册码为合法注册码后,在映射表中记录注册码和机器码的对应关系项,并向客户端返回目标软件对应的业务代码串;获得业务代码串包含的若干个业务代码段;将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。这样,增大了软件被破解的难度系数,可以有效保护软件的版权。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种软件保护方法及装置。
背景技术
随着计算机应用技术的快速发展,各种功能的应用软件逐渐增多。很多企业或者个人开发的一些应用软件并不总是免费的,在提供给用户免费试用之后,为保护软件开发商的正版版权,通常需要用户购买注册码对要使用的软件注册后才能正常使用。
注册码的验证通常是用RSA等加密算法来实现,例如:
if RSAVerify(MD5(Key),MD5(Code),e,n);
thenShowMessage('注册成功!');
elseShowMessage('注册失败!');
其中,Key为用户输入的注册码,Code是根据用户终端硬件信息自动计算出来的机器码,e是RSA算法的公匙,n是RSA算法的模数。
这种方法在一定程度上能够实现对注册码的验证,但是很容易被破解,破解者可以通过反汇编或者跟踪程序,把程序的逻辑判断改为否,直接跳过RSA加密算法的验证就可以破解,比如:
if not RSAVerify(MD5(Key),MD5(Code),e,n);
thenShowMessage('注册成功!');
elseShowMessage('注册失败!')。
发明内容
为解决上述技术问题,本发明提供一种软件保护方法及装置。
一种软件保护方法,应用于目标软件的客户端,包括:
在接收到针对目标软件的使用指令时,获得所述目标软件的注册码;
将所述注册码和自身所在终端的机器码发送给服务器,以使所述服务器在映射表中查询是否存在与所述注册码和所述机器码相匹配的对应关系项,如果是,则向所述客户端返回所述目标软件对应的业务代码串,如果否,则在确定所述注册码为合法注册码后,在所述映射表中记录所述注册码和所述机器码的对应关系项,并执行所述向所述客户端返回所述目标软件对应的业务代码串的步骤;
接收所述服务器返回的所述目标软件对应的业务代码串;
获得所述业务代码串包含的若干个业务代码段;
将获得的业务代码段分别还原至所述目标软件的源代码的相应位置处,以启动所述目标软件,使用户正常使用所述目标软件。
在本发明的一种具体实施方式中,所述获得所述目标软件的注册码,包括:
查询本地是否保存有所述目标软件的注册码;
如果是,则获得本地保存的所述目标软件的注册码;
如果否,则输出注册窗口,并接收用户在所述注册窗口输入的注册码。
在本发明的一种具体实施方式中,在查询本地未保存有所述目标软件的注册码的情况下,在所述启动所述目标软件之后,还包括:
在本地保存所述目标软件的注册码。
在本发明的一种具体实施方式中,所述业务代码串为经过加密处理的业务代码串,所述获得所述业务代码串包含的若干个业务代码段,包括:
对所述业务代码串进行解密处理;
将解密后的业务代码串拆分为若干个业务代码段。
在本发明的一种具体实施方式中,所述业务代码串包含的业务代码段为所述目标软件的关键业务功能的代码段。
一种软件保护装置,应用于目标软件的客户端,包括:
注册码获得模块,用于在接收到针对目标软件的使用指令时,获得所述目标软件的注册码;
注册码发送模块,用于将所述注册码和自身所在终端的机器码发送给服务器,以使所述服务器在映射表中查询是否存在与所述注册码和所述机器码相匹配的对应关系项,如果是,则向所述客户端返回所述目标软件对应的业务代码串,如果否,则在确定所述注册码为合法注册码后,在所述映射表中记录所述注册码和所述机器码的对应关系项,并执行所述向所述客户端返回所述目标软件对应的业务代码串的步骤;
业务代码串接收模块,用于接收所述服务器返回的所述目标软件对应的业务代码串;
业务代码段获得模块,用于获得所述业务代码串包含的若干个业务代码段;
业务代码段还原模块,用于将获得的业务代码段分别还原至所述目标软件的源代码的相应位置处,以启动所述目标软件,使用户正常使用所述目标软件。
在本发明的一种具体实施方式中,所述注册码获得模块,具体用于:
查询本地是否保存有所述目标软件的注册码;
如果是,则获得本地保存的所述目标软件的注册码;
如果否,则输出注册窗口,并接收用户在所述注册窗口输入的注册码。
在本发明的一种具体实施方式中,还包括:
注册码保存模块,用于在查询本地未保存有所述目标软件的注册码的情况下,在所述启动所述目标软件之后,在本地保存所述目标软件的注册码。
在本发明的一种具体实施方式中,所述业务代码串为经过加密处理的业务代码串,所述业务代码段获得模块,具体用于:
对所述业务代码串进行解密处理;
将解密后的业务代码串拆分为若干个业务代码段。
在本发明的一种具体实施方式中,所述业务代码串包含的业务代码段为所述目标软件的关键业务功能的代码段。
应用本发明实施例所提供的方法,客户端在接收到针对目标软件的使用指令时,可以获得目标软件的注册码,并将该注册码和自身所在终端的机器码发送给服务器,服务器对该注册码和该机器码进行验证,如果验证通过,则向客户端返回目标软件对应的业务代码串,客户端接收到该业务代码串后,可以获得该业务代码串中包含的若干个业务代码段,并将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。注册码验证为第一层验证,业务代码段验证为第二层验证,通过这两层验证之后目标软件才能正常使用,这样,即使破解者通过反编译篡改代码逻辑跳过了第一层注册码验证,也会由于缺少第二层业务代码段的成功验证,而不能正常使用软件,增大了软件被破解的难度系数,可以有效保护软件的版权。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种软件保护方法的实施流程图;
图2为本发明实施例中业务代码串生成示意图;
图3为本发明实施例中一种软件保护装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种软件保护方法,该方法可以应用于目标软件的客户端,目标软件可以是任意一款应用软件。目标软件的客户端安装于终端中,与目标软件的服务器通信连接,二者配合为用户提供目标软件的各种功能。但是,在为用户提供目标软件的各种功能之前,首先需要进行合法性验证,验证用户是否有权使用目标软件,以保护目标软件的版权。
参见图1所示,为本发明实施例所提供的一种软件保护方法的实施流程图,该方法可以包括以下步骤:
S110:在接收到针对目标软件的使用指令时,获得目标软件的注册码。
目标软件的客户端安装于终端中后,用户在需要使用目标软件时,可以点击该客户端图标,发出使用指令。客户端在接收到针对目标软件的使用指令时,可以获得目标软件的注册码。
在本发明的一种具体实施方式中,客户端可以通过以下步骤获得目标软件的注册码:
步骤一:查询本地是否保存有目标软件的注册码,如果是,则执行步骤二,如果否,则执行步骤三;
步骤二:获得本地保存的目标软件的注册码;
步骤三:输出注册窗口,并接收用户在注册窗口输入的注册码。
为便于描述,将上述三个步骤结合起来进行说明。
为保护目标软件的版权,目标软件需要授权使用。用户可以通过购买注册码注册目标软件获得授权。
客户端在接收到针对目标软件的使用指令时,可以查询本地是否保存有目标软件的注册码,如果没有,则表明这可能是用户在客户端所在终端上第一次使用目标软件,还未对目标软件进行注册,可以输出注册窗口,提示用户输入注册码进行目标软件的注册。客户端接收用户在该注册窗口输入的注册码,该注册码即为目标软件的注册码。
如果本地保存有目标软件的注册码,则表明用户之前在客户端所在终端上可能已经使用过目标软件,并且对目标软件进行了注册,在这种情况下,可以直接获得本地保存的目标软件的注册码。
客户端获得目标软件的注册码后,可以继续执行步骤S120的操作。
S120:将注册码和自身所在终端的机器码发送给服务器,以使服务器在映射表中查询是否存在与注册码和机器码相匹配的对应关系项,如果是,则向客户端返回目标软件对应的业务代码串,如果否,则在确定注册码为合法注册码后,在映射表中记录注册码和机器码的对应关系项,并执行向客户端返回目标软件对应的业务代码串的步骤。
客户端与服务器具有通信连接,当客户端获得目标软件的注册码后,可以将该注册码和自身所在终端的机器码发送给服务器,以使服务器对注册码进行验证。机器码是指将硬件序列号经过一系列加密、散列形成的一串序列号。
服务器接收到客户端发送的注册码和机器码后,可以在映射表中查询是否存在与该注册码和该机器码相匹配的对应关系项。服务器可以在其本地维护一个映射表,该映射表中包含若干个注册码和机器码的对应关系项,如下所示:
注册码A:机器码a;
注册码B:机器码b;
……
如果映射表中不存在该注册码和该机器码相匹配的对应关系项,则表明目标软件在具有该机器码的终端上还未被注册过,服务器可以对该注册码进行合法性验证,如果确定该注册码为合法注册码,则可以在该映射表中记录该注册码和该机器码的对应关系项,并向客户端返回目标软件对应的业务代码串。
具体的,服务器可以通过查询已售出注册码库查看该注册码是否为通过正规渠道售出的注册码,如果是,则可以确定该注册码为合法注册码。或者,服务器可以在映射表中查询该注册码是否具有和其他机器码的对应关系项,如果有,且该注册码符合预设的格式要求,则可以确定该注册码为合法注册码。
需要说明的是,上述仅为示例,在实际应用中,还可以通过其他方法确定注册码是否为合法注册码,本发明实施例对此不做限制。
如果映射表中存在该注册码和该机器码的对应关系项,则表明之前已经在具有该机器码的终端上对目标软件进行了注册,服务器可以直接向客户端返回目标软件对应的业务代码串。
在本发明实施例中,业务代码串包含的业务代码段为目标软件的关键业务功能的代码段。
目标软件对应的业务代码串可以包含若干个业务代码段,每个业务代码段可以是目标软件的某个关键业务功能的代码段。
参见图2所示,服务器可以在目标软件的源代码中提取出多个关键业务功能(功能A、功能B、……、功能N)的业务代码段(code 1、code 2、……、code n),并根据这些业务代码段生成业务代码串,在其本地进行保存。当接收到的客户端发送的注册码和机器码验证通过后,可以将预先存储的目标软件的业务代码串返回给客户端。
当然,如果服务器在映射表中未查询到该注册码和该机器码相匹配的对应关系项,且确定该注册码非合法注册码,则该注册码验证不通过,服务器可以不再向客户端返回任何信息,或者返回空的信息,或者将预先存储的错误的业务代码串返回给客户端。客户端据此可以确定注册码验证未通过,可以进一步向用户输出验证未通过的提示信息,提示用户重新输入注册码等。
可以理解的是,在客户端,用户要使用目标软件时,如果目标软件缺少这些业务代码段,则这些业务代码段所对应的功能模块不能正常使用,相应功能受到限制,达到保护软件版权的目的。
S130:接收服务器返回的目标软件对应的业务代码串。
服务器向客户端返回目标软件对应的业务代码串后,客户端可以接收目标软件对应的业务代码串,并继续执行步骤S140的操作。
S140:获得业务代码串包含的若干个业务代码段。
业务代码串中包含若干个业务代码段,客户端接收到目标软件对应的业务代码串后,可以获得该业务代码串中包含的若干个业务代码段。
为保证存储和传输过程中的安全性,服务器可以对业务代码串进行加密处理后再存储该业务代码串,这样,客户端接收到的业务代码串为经过加密处理的业务代码串。在这种情况下,步骤S140可以包括以下步骤:
第一个步骤:对业务代码串进行解密处理;
第二个步骤:将解密后的业务代码串拆分为若干个业务代码段。
客户端对业务代码串进行解密处理,具体的解密方法为现有技术,本发明实施例对此不再赘述。
将解密后的业务代码串进行拆分,即可获得若干个业务代码段。
S150:将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。
在步骤S140,客户端获得目标软件对应的业务代码段,可以将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。
在本发明的一个实施例中,在查询本地未保存有目标软件的注册码的情况下,在启动目标软件之后,还可以包括以下步骤:
在本地保存目标软件的注册码。
这样,当客户端再次接收到针对目标软件的使用指令时,可以在本地获得目标软件的注册码。
应用本发明实施例所提供的方法,客户端在接收到针对目标软件的使用指令时,可以获得目标软件的注册码,并将该注册码和自身所在终端的机器码发送给服务器,服务器对该注册码和该机器码进行验证,如果验证通过,则向客户端返回目标软件对应的业务代码串,客户端接收到该业务代码串后,可以获得该业务代码串中包含的若干个业务代码段,并将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。注册码验证为第一层验证,业务代码段验证为第二层验证,通过这两层验证之后目标软件才能正常使用,这样,即使破解者通过反编译篡改代码逻辑跳过了第一层注册码验证,也会由于缺少第二层业务代码段的成功验证,而不能正常使用软件,增大了软件被破解的难度系数,可以有效保护软件的版权。
相应于上面的方法实施例,本发明实施例还提供了一种软件保护装置,应用于目标软件的客户端,下文描述的一种软件保护装置与上文描述的一种软件保护方法可相互对应参照。
参见图3所示,该装置可以包括以下步骤:
注册码获得模块310,用于在接收到针对目标软件的使用指令时,获得目标软件的注册码;
注册码发送模块320,用于将注册码和自身所在终端的机器码发送给服务器,以使服务器在映射表中查询是否存在与注册码和机器码相匹配的对应关系项,如果是,则向客户端返回目标软件对应的业务代码串,如果否,则在确定注册码为合法注册码后,在映射表中记录注册码和机器码的对应关系项,并执行向客户端返回目标软件对应的业务代码串的步骤;
业务代码串接收模块330,用于接收服务器返回的目标软件对应的业务代码串;
业务代码段获得模块340,用于获得业务代码串包含的若干个业务代码段;
业务代码段还原模块350,用于将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。
应用本发明实施例所提供的装置,客户端在接收到针对目标软件的使用指令时,可以获得目标软件的注册码,并将该注册码和自身所在终端的机器码发送给服务器,服务器对该注册码和该机器码进行验证,如果验证通过,则向客户端返回目标软件对应的业务代码串,客户端接收到该业务代码串后,可以获得该业务代码串中包含的若干个业务代码段,并将获得的业务代码段分别还原至目标软件的源代码的相应位置处,以启动目标软件,使用户正常使用目标软件。注册码验证为第一层验证,业务代码段验证为第二层验证,通过这两层验证之后目标软件才能正常使用,这样,即使破解者通过反编译篡改代码逻辑跳过了第一层注册码验证,也会由于缺少第二层业务代码段的成功验证,而不能正常使用软件,增大了软件被破解的难度系数,可以有效保护软件的版权。
在本发明的一种具体实施方式中,注册码获得模块310,具体用于:
查询本地是否保存有目标软件的注册码;
如果是,则获得本地保存的目标软件的注册码;
如果否,则输出注册窗口,并接收用户在注册窗口输入的注册码。
在本发明的一种具体实施方式中,还包括:
注册码保存模块,用于在查询本地未保存有目标软件的注册码的情况下,在启动目标软件之后,在本地保存目标软件的注册码。
在本发明的一种具体实施方式中,业务代码串为经过加密处理的业务代码串,业务代码段获得模块340,具体用于:
对业务代码串进行解密处理;
将解密后的业务代码串拆分为若干个业务代码段。
在本发明的一种具体实施方式中,业务代码串包含的业务代码段为目标软件的关键业务功能的代码段。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种软件保护方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种软件保护方法,其特征在于,应用于目标软件的客户端,包括:
在接收到针对目标软件的使用指令时,获得所述目标软件的注册码;
将所述注册码和自身所在终端的机器码发送给服务器,以使所述服务器在映射表中查询是否存在与所述注册码和所述机器码相匹配的对应关系项,如果是,则向所述客户端返回所述目标软件对应的业务代码串,如果否,则在确定所述注册码为合法注册码后,在所述映射表中记录所述注册码和所述机器码的对应关系项,并执行所述向所述客户端返回所述目标软件对应的业务代码串的步骤;
接收所述服务器返回的所述目标软件对应的业务代码串;
获得所述业务代码串包含的若干个业务代码段;
将获得的业务代码段分别还原至所述目标软件的源代码的相应位置处,以启动所述目标软件,使用户正常使用所述目标软件。
2.根据权利要求1所述的软件保护方法,其特征在于,所述获得所述目标软件的注册码,包括:
查询本地是否保存有所述目标软件的注册码;
如果是,则获得本地保存的所述目标软件的注册码;
如果否,则输出注册窗口,并接收用户在所述注册窗口输入的注册码。
3.根据权利要求2所述的软件保护方法,其特征在于,在查询本地未保存有所述目标软件的注册码的情况下,在所述启动所述目标软件之后,还包括:
在本地保存所述目标软件的注册码。
4.根据权利要求1至3任一项所述的软件保护方法,其特征在于,所述业务代码串为经过加密处理的业务代码串,所述获得所述业务代码串包含的若干个业务代码段,包括:
对所述业务代码串进行解密处理;
将解密后的业务代码串拆分为若干个业务代码段。
5.根据权利要求4所述的软件保护方法,其特征在于,所述业务代码串包含的业务代码段为所述目标软件的关键业务功能的代码段。
6.一种软件保护装置,其特征在于,应用于目标软件的客户端,包括:
注册码获得模块,用于在接收到针对目标软件的使用指令时,获得所述目标软件的注册码;
注册码发送模块,用于将所述注册码和自身所在终端的机器码发送给服务器,以使所述服务器在映射表中查询是否存在与所述注册码和所述机器码相匹配的对应关系项,如果是,则向所述客户端返回所述目标软件对应的业务代码串,如果否,则在确定所述注册码为合法注册码后,在所述映射表中记录所述注册码和所述机器码的对应关系项,并执行所述向所述客户端返回所述目标软件对应的业务代码串的步骤;
业务代码串接收模块,用于接收所述服务器返回的所述目标软件对应的业务代码串;
业务代码段获得模块,用于获得所述业务代码串包含的若干个业务代码段;
业务代码段还原模块,用于将获得的业务代码段分别还原至所述目标软件的源代码的相应位置处,以启动所述目标软件,使用户正常使用所述目标软件。
7.根据权利要求6所述的软件保护装置,其特征在于,所述注册码获得模块,具体用于:
查询本地是否保存有所述目标软件的注册码;
如果是,则获得本地保存的所述目标软件的注册码;
如果否,则输出注册窗口,并接收用户在所述注册窗口输入的注册码。
8.根据权利要求7所述的软件保护装置,其特征在于,还包括:
注册码保存模块,用于在查询本地未保存有所述目标软件的注册码的情况下,在所述启动所述目标软件之后,在本地保存所述目标软件的注册码。
9.根据权利要求6至8任一项所述的软件保护装置,其特征在于,所述业务代码串为经过加密处理的业务代码串,所述业务代码段获得模块,具体用于:
对所述业务代码串进行解密处理;
将解密后的业务代码串拆分为若干个业务代码段。
10.根据权利要求9所述的软件保护装置,其特征在于,所述业务代码串包含的业务代码段为所述目标软件的关键业务功能的代码段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825659.XA CN106446616A (zh) | 2016-09-14 | 2016-09-14 | 一种软件保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825659.XA CN106446616A (zh) | 2016-09-14 | 2016-09-14 | 一种软件保护方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106446616A true CN106446616A (zh) | 2017-02-22 |
Family
ID=58167862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610825659.XA Pending CN106446616A (zh) | 2016-09-14 | 2016-09-14 | 一种软件保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106446616A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038353A (zh) * | 2017-03-28 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 软件程序的校验保护方法及*** |
CN107133499A (zh) * | 2017-05-10 | 2017-09-05 | 百望电子***数据服务有限公司 | 一种软件版权保护方法、客户端、服务端以及*** |
CN109902451A (zh) * | 2017-12-11 | 2019-06-18 | 上海宝康电子控制工程有限公司 | 新能源车辆号牌二次识别***和方法 |
CN111225073A (zh) * | 2018-11-26 | 2020-06-02 | 北京京东尚科信息技术有限公司 | 业务编码分配方法及装置、存储介质、计算机*** |
CN113130013A (zh) * | 2019-12-30 | 2021-07-16 | 中国科学院宁波材料技术与工程研究所 | 计算材料高通量电化学磨蚀数据处理方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082950A (zh) * | 2007-07-10 | 2007-12-05 | 侯同济 | 一种软件加密注册防盗版方法 |
CN103218550A (zh) * | 2013-03-20 | 2013-07-24 | 中国联合网络通信集团有限公司 | 软件安装方法、服务器和终端 |
CN103995991A (zh) * | 2014-05-07 | 2014-08-20 | 华中师范大学 | 一种软件版权保护中绑定硬件信息与密钥的方法 |
CN104239757A (zh) * | 2014-09-30 | 2014-12-24 | 北京奇虎科技有限公司 | 应用程序防止逆向的方法及装置、运行方法及终端 |
CN104484585A (zh) * | 2014-11-26 | 2015-04-01 | 北京奇虎科技有限公司 | 一种应用程序安装包的处理方法、装置及移动设备 |
-
2016
- 2016-09-14 CN CN201610825659.XA patent/CN106446616A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082950A (zh) * | 2007-07-10 | 2007-12-05 | 侯同济 | 一种软件加密注册防盗版方法 |
CN103218550A (zh) * | 2013-03-20 | 2013-07-24 | 中国联合网络通信集团有限公司 | 软件安装方法、服务器和终端 |
CN103995991A (zh) * | 2014-05-07 | 2014-08-20 | 华中师范大学 | 一种软件版权保护中绑定硬件信息与密钥的方法 |
CN104239757A (zh) * | 2014-09-30 | 2014-12-24 | 北京奇虎科技有限公司 | 应用程序防止逆向的方法及装置、运行方法及终端 |
CN104484585A (zh) * | 2014-11-26 | 2015-04-01 | 北京奇虎科技有限公司 | 一种应用程序安装包的处理方法、装置及移动设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038353A (zh) * | 2017-03-28 | 2017-08-11 | 武汉斗鱼网络科技有限公司 | 软件程序的校验保护方法及*** |
CN107038353B (zh) * | 2017-03-28 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 软件程序的校验保护方法及*** |
CN107133499A (zh) * | 2017-05-10 | 2017-09-05 | 百望电子***数据服务有限公司 | 一种软件版权保护方法、客户端、服务端以及*** |
CN107133499B (zh) * | 2017-05-10 | 2020-12-18 | 国信电子票据平台信息服务有限公司 | 一种软件版权保护方法、客户端、服务端以及*** |
CN109902451A (zh) * | 2017-12-11 | 2019-06-18 | 上海宝康电子控制工程有限公司 | 新能源车辆号牌二次识别***和方法 |
CN111225073A (zh) * | 2018-11-26 | 2020-06-02 | 北京京东尚科信息技术有限公司 | 业务编码分配方法及装置、存储介质、计算机*** |
CN113130013A (zh) * | 2019-12-30 | 2021-07-16 | 中国科学院宁波材料技术与工程研究所 | 计算材料高通量电化学磨蚀数据处理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106446616A (zh) | 一种软件保护方法及装置 | |
EP3813324B1 (en) | Data processing method and device | |
EP2267628B1 (en) | Token passing technique for media playback devices | |
CN104469767B (zh) | 一套移动办公***中集成式安全防护子***的实现方法 | |
CN106060078B (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN108023874A (zh) | 单点登录的校验装置、方法及计算机可读存储介质 | |
CN103500202B (zh) | 一种轻量级数据库的安全保护方法及*** | |
JP2015537428A (ja) | 仮想マシンによる安全なデータ処理 | |
TW200903297A (en) | Updating cryptographic key data | |
CN109033808B (zh) | 一种体验游戏的方法及账号服务端 | |
CN109254734A (zh) | 一种数据存储方法、装置、设备及计算机可读存储介质 | |
CN106603726A (zh) | 一种基于邮箱的个人数据分布存储*** | |
CN103905557A (zh) | 用于云环境的数据存储方法和装置、及下载方法和装置 | |
US10826901B2 (en) | Systems and method for cross-channel device binding | |
CN103973698A (zh) | 一种云存储环境中的用户访问权限回收方法 | |
CN106230832A (zh) | 一种设备标识校准的方法 | |
EP1330890B1 (en) | Electronic file protection using location | |
US8681972B2 (en) | Method of executing a cryptographic calculation | |
CN107919953A (zh) | 数据公证方法、装置、设备、介质及服务器 | |
CN112434327B (zh) | 信息保护方法、装置及电子设备 | |
CN106972928A (zh) | 一种堡垒机私钥管理方法、装置及*** | |
CN106411953A (zh) | 一种种植箱登录方法及装置 | |
US9171135B2 (en) | Method for acquisition of software applications | |
CN112165396A (zh) | 一种安全固件更新的方法 | |
CN106055987A (zh) | 一种数据存储方法、数据读取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |
|
RJ01 | Rejection of invention patent application after publication |