CN107133499B - 一种软件版权保护方法、客户端、服务端以及系统 - Google Patents

一种软件版权保护方法、客户端、服务端以及系统 Download PDF

Info

Publication number
CN107133499B
CN107133499B CN201710326010.8A CN201710326010A CN107133499B CN 107133499 B CN107133499 B CN 107133499B CN 201710326010 A CN201710326010 A CN 201710326010A CN 107133499 B CN107133499 B CN 107133499B
Authority
CN
China
Prior art keywords
registration information
software
registration
client
server
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.)
Active
Application number
CN201710326010.8A
Other languages
English (en)
Other versions
CN107133499A (zh
Inventor
谭奇文
胡文彬
危明武
钟娜
刘祥涛
赵彦晖
孙淏添
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoxin Electronic Bill Platform Information Service Co ltd
Original Assignee
Guoxin Electronic Bill Platform Information Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guoxin Electronic Bill Platform Information Service Co ltd filed Critical Guoxin Electronic Bill Platform Information Service Co ltd
Priority to CN201710326010.8A priority Critical patent/CN107133499B/zh
Publication of CN107133499A publication Critical patent/CN107133499A/zh
Application granted granted Critical
Publication of CN107133499B publication Critical patent/CN107133499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1015Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users

Abstract

本发明实施例公开了一种软件版权保护方法、客户端、服务端以及系统,用于通过双校验保险机制解决市面上注册信息容易被反编译的问题,实现对企业类、消费者类应用产品端的软件的保护。本发明实施例方法包括:在接收到针对第一软件的使用指令时,获取第一软件的注册信息;对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验;若客户端对注册信息校验成功,且服务端对注册信息校验成功,则启动第一软件。

Description

一种软件版权保护方法、客户端、服务端以及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种软件版权保护方法、客户端、服务端以及系统。
背景技术
随着互联网的发展,越来越多的软件开发商开发了各种客户端工具软件和客户端应用软件,用户的需求也是越来越多,然而软件开发是一项巨大且耗时耗力的工作,一个工具软件和应用软件要开发出来,需要软件开发商付出较大的成本。因此,为了保护开发出来的软件应用,很多软件开发商采用注册码机制,即需要消费者购买注册码才能使用。
然而,大多数软件都是采用本地算法加密和生成注册码的方式,这种注册码机制安全层次不高,容易被破解,不利于软件开发商的收益。现实生活中,很多软件都有被破解了的注册码,例如,典型的盗版windows,盗版Photoshop,盗版autocad等等。
发明内容
本发明实施例提供了一种软件版权保护方法、客户端、服务端以及系统,用于通过双校验保险机制解决市面上注册信息容易被反编译的问题,实现对企业类、消费者类应用产品端的软件的保护。
有鉴于此,本发明第一方面提供一种软件版权保护方法,应用于客户端,可包括:
在接收到针对第一软件的使用指令时,获取第一软件的注册信息;
对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验;
若客户端对注册信息校验成功,且服务端对注册信息校验成功,则启动第一软件。
进一步的,注册信息包括注册码或序列号,序列号为根据注册码进行计算得到。
进一步的,若注册信息为序列号,对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验包括:
将序列号发送至服务端,以使得服务端查询是否存在序列号对应的注册码,若存在,则对注册码进行校验,若注册码校验成功,则向客户端返回注册码;
接收服务端返回的注册码;
对注册码进行校验。
进一步的,在启动第一软件后,方法还包括:
确定不同于第一预设算法的第二预设算法,按照预设校验周期和第二预设算法对注册信息进行校验,并按照预设校验周期将注册信息发送至服务端,以使得服务端确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册信息进行校验;
若客户端对注册信息校验成功,且服务端对注册信息校验成功,则保持第一软件的使用状态;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
本发明第二方面提供一种软件版权保护方法,应用于服务端,可包括:
获取第一软件的软件信息;
将软件信息生成注册信息;
存储注册信息。
进一步的,在按将软件信息生成注册信息之后,方法还包括:
按照预设方式下发注册信息。
进一步的,在按照预设方式下发注册信息之后,方法还包括:
接收客户端发送的注册信息;
对注册信息进行校验;
若校验成功,则通知客户端注册信息校验成功。
进一步的,注册信息包括注册码或序列号,序列号为根据注册码进行计算得到。
进一步的,若注册信息为序列号,对注册信息进行校验包括:
查询是否存在序列号对应的注册码;
若存在,则对注册码进行校验;
若校验成功,则发送注册码至客户端,以使得客户端对注册码进行校验。
进一步的,对注册信息进行校验包括:
确定不同于第一预设算法的第二预设算法,按照第二预设算法对注册信息进行校验;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
本发明第三方面提供一种软件版权保护装置,应用于客户端,可包括:
获取模块,用于在接收到针对第一软件的使用指令时,获取第一软件的注册信息;
校验模块,用于对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验;
启动模块,用于当客户端对注册信息校验成功,且服务端对注册信息校验成功时,则启动第一软件。
进一步的,注册信息包括注册码或序列号,序列号为根据注册码进行计算得到。
进一步的,若注册信息为序列号,校验模块,具体用于:
将序列号发送至服务端,以使得服务端查询是否存在序列号对应的注册码,若存在,则对注册码进行校验,若校验成功,则向客户端返回注册码;
接收服务端返回的注册码;
对注册码进行校验。
进一步的,校验模块,还具体用于:
确定不同于第二预设算法的第一预设算法,按照预设校验周期和第二预设算法对注册信息进行校验,并按照预设校验周期将注册信息发送至服务端,以使得服务端确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册信息进行校验;
若客户端对注册信息校验成功,且服务端对注册信息校验成功,则保持第一软件的使用状态;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
本发明第四方面提供一种软件版权保护装置,应用于服务端,可包括:
获取模块,用于获取第一软件的软件信息;
生成模块,用于将软件信息生成注册信息;
存储模块,用于存储注册信息。
进一步的,装置还包括:
下发模块,用于按照预设方式下发注册信息。
进一步的,装置还包括:
接收模块,用于接收客户端发送的注册信息;
校验模块,用于对注册信息进行校验;
通知模块,用于当注册信息校验成功时,则通知客户端注册信息校验成功。
进一步的,注册信息包括注册码或序列号,序列号为根据注册码进行计算得到。
进一步的,若注册信息为序列号,校验模块,具体用于:
查询是否存在序列号对应的注册码;
若存在,则对注册码进行校验,并发送注册码至客户端,以使得客户端对注册码进行校验。
进一步的,校验模块,具体用于:
确定不同于第一预设算法的第二预设算法,按照第二预设算法对注册信息进行校验;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
本发明第五方面提供一种软件版权保护系统,可包括上述第三方面的客户端以及第四方面的服务端。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明提供了一种软件版权保护方法,通过基于客户端的算法校验以及服务端的算法校验的双重保护模式,可以实现对注册信息的双重校验,只有双重校验全部通过,才可以启动第一软件,从而有利于提高注册信息的安全级别,避免注册信息被轻易破解,进而可以为软件开发商和软件开发者的软件版权保驾护航。
附图说明
图1为本发明实施例中软件版权保护方法一个实施例示意图;
图2为本发明实施例中软件版权保护方法另一实施例示意图;
图3为本发明实施例中软件版权保护方法另一实施例示意图;
图4为本发明实施例中软件版权保护方法另一实施例示意图;
图5为本发明实施例中软件版权保护装置一个实施例示意图;
图6为本发明实施例中软件版权保护装置另一实施例示意图;
图7为本发明实施例中软件版权保护装置另一实施例示意图;
图8为本发明实施例中软件版权保护装置另一实施例示意图。
具体实施方式
本发明实施例提供了一种软件版权保护方法、客户端、服务端以及系统,用于通过双校验保险机制解决市面上注册信息容易被反编译的问题,实现对企业类、消费者类应用产品端的软件的保护。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中软件版权保护方法一个实施例包括:
101、在接收到针对第一软件的使用指令时,获取第一软件的注册信息;
本实施例中,第一软件的客户端安装于终端后,使用者在需要使用第一软件时,可以点击该第一软件的客户端图标,发出使用指令,客户端在接收到针对该第一软件的使用指令时,可以获得第一软件的注册码。
具体的,为了保护第一软件的版权,第一软件需要授权使用,即使用者需要购买第一软件的注册信息并注册第一软件获得授权。客户端在接收到针对第一软件的使用指令时,可以查询本地是否保存有第一软件的注册信息,如果没有,则表明这可能是使用者在客户端所在终端上第一次使用第一软件,还未对第一软件进行注册,那么可以输出注册窗口,提示使用者输入注册信息进行第一软件的注册。客户端可以接收使用者在该注册窗口输入的注册信息,该注册信息即为第一软件的注册信息;反之,如果本地保存有第一软件的注册码,则表明使用者之前在客户端所在终端上可能已经使用过第一软件,并且对第一软件进行了注册,则可以直接获得本地保存的第一软件的注册信息。
例如,假设终端上安装有开票精灵软件的客户端,该开票精灵软件是一款实现自动录入发票抬头信息的发票开具辅助软件,必须注册后才可使用全部功能,若使用者需要启动开票精灵软件实现相应功能,则可以针对该开票精灵软件的客户端图标发出使用指令,那么根据使用者第一次使用或非第一次使用的情况分别获取开票精灵软件的注册信息。
本实施例中,第一软件的注册信息可以由服务端生成后,若第一软件的注册信息由客户端的使用者购买,则服务端可以将购买的注册信息发送给客户端的使用者,或由服务端的管理人员将注册信息转发至客户端的使用者,以使得客户端的使用者可以通过该注册信息注册第一软件并获得第一软件的授权。
102、对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验;
本实施例中,获取到第一软件的注册信息后,可以对注册信息进行校验,并可以将注册信息发送至服务端,以使得服务端对注册信息进行校验。
具体的,为了加强对注册信息的保护,防止注册信息被篡改,可以在本地按照存储的预设算法对注册信息进行校验,并可以将注册信息发送至服务端,使得注册信息可以在服务端按照存储的预设算法进行校验。在实际应用中,客户端的校验和服务端的校验的顺序不限定于先后,也可以同时进行,优选的,注册信息可以为注册码,在该情况下,为了减少服务端的资源占用,在获取到第一软件的注册信息后,可以先在客户端的本地对注册信息进行校验,校验成功后,再将注册信息发送至服务端,使得服务端对注册信息进行校验,反之,若校验失败,则不发送注册信息至服务端。
本实施例中,无论是客户端对注册信息进行校验,还是服务端对注册信息进行校验,均可以通过预设算法对注册信息的有效信息进行校验,其中,可以校验有效信息是否正确且有效,例如,注册信息的有效信息是否为预设的24位,而若注册信息的有效信息的有效期时长为3年,其生成时间为2016年1月1日,则可以结合当前时间以及生成时间,校验注册信息的有效信息是否未超过有效期时长,若注册信息的有效信息正确且在有效期内,则确定校验成功,反之,若注册信息的有效信息不正确或不在有效期内,则确定校验失败。其中,由于注册信息是由服务端生成,则服务端的预设算法可以和客户端的预设算法一致,或者,客户端的预设算法可以是根据服务端的预设算法按照特有算法生成的,从而通过客户端存储的预设算法也可以对注册信息进行有效校验。
103、若客户端对注册信息校验成功,且服务端对注册信息校验成功,则启动第一软件。
本实施例中,若注册信息在客户端本地的校验成功,且在服务端的校验成功,则可以启动第一软件,使得使用者可以正常使用第一软件。
可以理解的是,本实施例中,若客户端本地的校验失败或服务端的校验失败,则禁用第一软件,使得使用者无法正常使用第一软件的功能,进一步的,客户端可以输出诸如注册信息错误或注册信息过期的提醒,以提示使用者购买正确且有效的注册信息并获得第一软件的授权。
本实施例中,通过基于客户端的算法校验以及服务端的算法校验的双重保护模式,可以实现对注册信息的双重校验,只有双重校验全部通过,才可以启动第一软件,从而有利于提高注册信息的安全级别,避免注册信息被轻易破解,进而可以为软件开发商和软件开发者的软件版权保驾护航。
需要说明的是,本实施例中,注册信息可以包括注册码或由注册码进行计算得到的序列号,下面基于注册信息的不同形式,对注册信息的生成、下发在服务端进行具体说明:
请参阅图2,本发明实施例中软件版权保护方法另一实施例包括:
201、获取第一软件的软件信息;
本实施中,为了加强对第一软件的注册信息的保护,可以在服务端生成第一软件的注册信息。在生成第一软件的注册信息之前,可以先获取第一软件的软件信息。
具体的,软件信息可以包括第一软件的ID、子功能、有效期中的至少一种,用来生成不同第一软件不同子功能不同有效期的注册信息,具体可以根据不同第一软件的实际情况进行获取。其中,若第一软件没有子功能或有效期限制,则可以不进行获取。此外,有效期可以包括针对第一软件的使用有效期,还可以包括针对第一软件的一个或以上的子功能的使用有效期,此处不做限定。
可以理解的是,本实施例中的软件信息除了上述说明的内容,在实际应用中,还可以包括其它,如第一软件的版本信息,具体此处不做限定。
在实际应用中,服务端可以设有注册信息系统,管理员通过登录服务端的注册信息系统,可以控制服务端的注册信息系统的使用权限,而在登录认证之后才能进行下一步注册信息的生成以及管理登相关业务操作。根据实际需要,服务端的注册信息系统支持生成不同第一软件、或相同第一软件不同子功能对应的注册信息,并支持设置有效期生成注册信息,同时,可以支持单个注册信息生成,也可以支持批量注册信息的生成,以在服务端的注册信息系统实现对多个不同的第一软件的注册信息的统一管理。
202、将软件信息生成注册信息;
本实施例中,获取第一软件的软件信息后,可以将软件信息生成注册信息。
具体的,服务端可以通过不同于校验注册信息的预设算法将获取的第一软件的软件信息生成第一软件的注册信息,如可以采用一些特有的加密算法计算出注册信息,在实际应用中,每个软件开发商或者软件开发者都可以自行采用自己特有的逻辑开发一套算法模块,在按照预设算法进行注册信息的生成时可以将软件信息中的有效期加进去,比如一年有效期,三年有效期等。此外,也可以将软件信息中的ID或子功能加进去,以根据预设算法支持不同第一软件、或相同第一软件不同子功能对应的注册信息的生成。
本实施例中,注册信息可以包括注册码或根据注册码进行计算得到的序列号,其中,在将软件信息生成第一软件的注册码后,可以还可以根据诸如MD5算法将注册码转换成序列号。下面对注册码的生成进行说明:
一、注册码密文的确定:
假设软性信息中包括第一软件的ID、子功能、以及有效期,则可以用诸如以下述方式确定注册码密文的形式:
KenGen&时间戳&第一软件的ID+有效期时长^子功能1+有效期时长^子功能2+有效期时长^子功能N+有效期时长,N为正整数。
其中,注册码密文的说明如下:
1、KenGen:根据第一软件的ID生成的唯一密钥
KenGen算法的规则:
1)第一软件的ID+固定字符(例如:test)生成MD5(如32位MD5)
2)奇偶互换
3)首尾调换
4)去掉M值
5)字母A替换为#字符
可以理解的是,本实施例中上述说明的算法仅供参考,不同软件开发商和软件开发者可以根据第一软件的情况进行算法的调整或开发。
2、时间戳:直接取诸如GUID为时间戳。
3、第一软件的ID+有效期时长:第一软件的ID标识一个第一软件的固定ID值,有效期时长是该第一软件的有效期。
4、子功能+有效期时长:
功能1+有效期时长
功能2+有效期时长
功能N+有效期时长
子功能可以标识一个第一软件的固定的某个功能,其有效期时长则可以时该第一软件的子功能的有效期,即假设第一软件的有效期时长为1年,但第一软件的某个子功能的有效期时长可以只为半年,这有利于对第一软件的功能进行不同有效期的保护,增加软件开发商和软件开发者的利益,提高其成果价值。
可以理解的是,本实施例中的子功能及其有效期属于可选项,可以根据不同第一软件的实际情况考虑是否增加。如果第一软件没有子功能有效期限制,可以不增加此节点。
举例1(第一软件包含子功能的有效期限制):
ED55781E98819D03368F5B1ED1&440301192100888&20160906134220&1001+12^17+12^18+12
举例2(第一软件不包含子功能的有效期限制):
ED55781E98819D03368F5B1ED1&440301192100888&20160906134220&1001+12
二、注册码的生成:
可以使用DES算法对密文加密,产生注册码。
例如加密后:
7C2B62ED5C6A15B44C523E382F86C7AD61AB1BDD126E79EB448B2D2EB3F86D9EC0E818111333727C50487444A800920BD4DB5D491B276D9E23097534435F10F9EC176CE8D1E418F51BB6F2308FFE34A1
进一步的,为了有利于注册信息的存储或下发,可以利用诸如MD5算法对注册码进行计算,得到注册码对应的序列号,结合上述说明的注册码,序列号如下:
三、序列号:
序列号为注册码的MD5值(16位MD5)
例如:A90A1F072BF9C7B0
可以理解的是,在实际应用中,还可以采用其它算法将注册码计算转换成序列号,只要注册码与序列号相匹配即可,具体此处不做限定。
203、存储注册信息;
本实施例中,生成注册信息后,可以存储注册信息,实现对注册信息的查询、校验、或编辑等功能,以保障当前注册信息的有效性。
在实际应用中,服务端可以存储有不同的第一软件或相同的第一软件的一个或以上的注册信息,为了对其存储进行有序的管理,可以建立第一软件与注册信息的映射关系,同时,针对相同的第一软件,还可以基于子功能或有效期进行关联存储。
需要说明的是,本实施例中,若注册信息为序列号,则在对序列号进行存储时,还可以存储序列号对应的注册码,以在使用者购买第一软件的序列号后,在利用序列号启动第一软件时,可以对序列号对应的注册码进行校验,以防止序列号的篡改。
进一步的,本实施例中,为了使得客户端的使用者可以获得第一软件的授权,那么在客户端的使用者购买第一软件的注册信息后,在管理员的相应操作下,服务端可以按照预设方式下发注册信息,例如,可以采用短信发送至客户端的使用者、采用邮件发送至客户端的使用者,又或者,管理员可以下载第一软件的注册信息license文件,再将下载的文件发送给客户端的使用者,从而客户端的使用者可以通过该购买的注册信息注册第一软件并获得第一软件的授权,合法启动并使用第一软件的相关功能。其中,注册信息下发后,服务端可以对下发的注册信息进行标识,以和生成但未被使用者购买的注册信息进行区分。
更进一步的,本实施例中,为了实现对注册信息的管理,还可以对注册信息进行相应的编辑,在实际应用中,服务端对注册信息进行编辑的具体方式可以为:
获取操作指令;
根据操作指令对注册信息进行相应的编辑。
例如,根据获取的操作指令,可以根据操作指令可以编辑注册信息的使用者、使用日期、使用者终端的mac地址等信息,以对购买的注册信息与使用者的信息进行关联记录,并可以在对注册信息进行校验时,还能够对使用者的身份信息进行校验,以防止注册信息被他人冒名使用,或者也可以根据操作指令删除单个注册信息或删除批量注册信息,以释放服务端的占用内存。
由此,基于上述说明,本实施例通过提供注册信息系统,简化了注册信息的生成过程,提高了注册信息的管理和分发的效率,实现了集中化、系统化维护管理注册信息。
其中,于服务端而言,在服务端下发注册信息后,使用者在客户端使用该注册信息注册第一软件以启动第一软件时,服务端还将收到客户端发送的注册信息,以按照存储的预设算法对该注册信息进行校验,若校验成功,则需要通知客户端注册信息校验成功,使得客户端在对注册信息校验成功后,可以启动第一软件,反之,也需要通知客户端,使得客户端禁用第一软件。由此,通过客户端以及服务端的两次校验后,才能正常使用第一软件,那么即使破解者通过反编译篡改代码逻辑跳过了其中一次校验,也会由于缺少另一次校验的成功验证,而不能正常使用第一软件,增大了第一软件被破解的难度系数,可以有效保护软件的版权。
需要说明的是,在服务端一侧,本实施例中对注册信息进行校验时的预设算法可以根据生成注册信息的预设算法进行计算得到,例如,沿用步骤202说明的内容,对注册信息进行校验时的预设算法可以根据KenGen算法以及DES算法进行计算得到,以能够对注册码进行计算,得到注册信息的有效信息,并实现对注册信息的有效信息的校验。
可以理解的是,当注册信息为序列号时,由于序列号为根据注册码进行计算得到,而客户端没有存储序列号对应的注册码,从而无法对序列号进行校验,则需要先行在服务端对序列号进行合法性的校验,下面从客户端一侧进行具体说明:
请参阅图3,本发明实施例中软件版权保护方法另一实施例包括:
301、在接收到针对第一软件的使用指令时,获取第一软件的序列号;
本实施例中,除注册信息为序列号之外,其它内容与图1所示实施例中的步骤101说明的内容相同,此处不再赘述。
302、将序列号发送至服务端,以使得服务端查询是否存在序列号对应的注册码,若存在,则对注册码进行校验,若校验成功,则向客户端返回注册码;
本实施例中,客户端获取到第一软件的序列号后,可以将序列号发送至服务端,以在服务端对序列号的合法性进行查询。
具体的,在服务端生成注册信息的过程中,当注册信息为序列号时,在存储序列号的同时,可以存储有序列号对应的注册码,那么当服务端在接收到客户端发送的序列号后,可以查询是否存在序列号对应的注册码,以防止序列号被篡改。但服务端查询存在序列号对应的注册码时,可以进一步按照第二预设算法对注册码进行计算,得到注册码的有效信息,诸如ID、子功能或有效期,若有效信息正确且在有效期内,则意味着校验成功,则服务端可以向客户端返回该注册码,使得客户端可以对注册码进行校验,以实现对注册信息的双重校验,增加第一软件的破解难度。反之,若服务端查询不存在序列号对应的注册码,或校验失败,则通知客户端序列号不可用,使得客户端可以对用户进行序列号无效的提示。
可以理解的是,在实际应用中,若注册信息为注册码,那么在服务端对注册码进行校验之前,服务端也可以查询是否存在该注册码,若存在,则可以进一步按照对注册码进行校验,以校验注册码的有效信息是否正确且在有效期内,如果不正确或者过期,则向客户端发出注册码错误或注册码过期的信息,以使得客户端可以对用户进行注册码无效的提示。
303、接收服务端返回的注册码;
本实施例中,当服务端查询存在序列号对应的注册码,且对注册码的校验成功后,客户端可以接收服务端返回的注册码。
304、对注册码进行校验;
本实施例中,当客户端接收服务端返回的注册码后,客户端可以按照第一预设算法对注册码进行校验。
本实施例中,除注册信息为注册码之外,其它内容可以参照图1所示实施例中步骤102说明的部分内容,此处不再赘述。
305、若校验成功,则启动第一软件。
本实施例中,若客户端对注册码的校验成功,则可以启动第一软件。
可以理解的是,本实施例中,若校验失败,则禁用第一软件,使得使用者无法正常使用第一软件的功能,进一步的,客户端可以输出诸如注册信息错误或注册信息过期的提醒,以提示使用者购买正确且有效的注册信息并获得第一软件的授权。
结合图2所示实施例说明的内容,本实施例中,在服务端一侧,在服务端将第一软件的软件信息生成序列号后。可以接收客户端发送的序列号,若查询存在该序列号对应的注册码,则可以对注册码进行校验,并在校验成功后,可以将注册码发送至客户端,使得客户端可以对注册码进行校验,具体内容可以参照上述图3所示实施例中说明的内容,此处不再赘述。
其中,当注册信息为注册码时,其校验过程与图1所示的内容一致,此处也不再赘述。
需要说明的是,当注册码通过服务端的校验和客户端的校验之后,为了进一步增强安全机制,客户端还可以对注册信息进行定时校验,下面从客户端一侧进行具体说明:
请参阅图4,本发明实施例中软件版权保护方法另一实施例包括:
本实施例中的步骤401至步骤403与图1所示实施例中的步骤101至步骤103相同,此处不再赘述。
404、确定不同于第一预设算法的第二预设算法,按照预设校验周期和第二预设算法对注册信息进行校验,并按照预设周期将注册信息发送至服务端,以使得服务端确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册信息进行校验;
本实施例中,启动第一软件后,可以对注册信息进行定时校验,如每隔30分钟校验一次,直至第一软件关闭。在这过程中,客户端可以确定不同于第一预设算法的第二预设算法,按照预设校验周期和第二预设算法对注册信息进行校验,并可以按照预设周期将注册信息发送至服务端,以使得服务端确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册信息进行校验。其中,第一预设算法可以为在上一个预设校验周期对注册信息进行校验时的算法。
具体的,为了防止一些黑客通过一些破解工具修改第一软件的一些代码逻辑,去破解第一软件,本实施例可以采用随机线程定时校验机制,通过随机因子启动随机的独立线程,可以触发定时校验任务,每个线程处理方式都存在差异,即相邻两次的线程处理方式不同,而在每一次线程处理方式中,均采用客户端和服务端进行双重校验的机制,从而可以有效避免黑客进一步的攻击,解决一次破解终生使用的难题,有利于保护第一软件的注册信息。
其中,客户端和服务端均可以存储用于校验注册信息的两套或以上的算法,在启动第一软件并使用软件的第一过程中,在客户端可以按照预设校验周期在存储的两套或以上的算法中随机采用不同于上一次采用的算法对注册信息进行校验,且客户端可以按照预设校验周期将注册信息重复发送至服务端,服务端也可以在存储的两套或以上的算法中随机采用不同于上一次采用的算法对注册信息进行校验。其中,在定时校验时,可以先在客户端根据第二预设算法对注册信息进行校验,再在服务端根据第二预设算法对注册信息进行校验,或者,也可以先在服务端根据第二预设算法对注册信息进行校验,再在客户端根据第二预设算法对注册信息进行校验,或者,也可以同时进行,此处不做限定。
在实际应用中,客户端的随机线程定时校验机制与服务端的随机线程定时校验机制一致,即在每一次定时校验的过程中,客户端的算法与服务端的算法一致,但在注册信息有效的情况下,相邻两次定时校验过程中采用的不同的算法,可以得到注册信息的一致的有效信息,以对注册信息进行有效校验。
以客户端为例进行说明,假设客户端存储了N套的算法,可以设计算法N=算法1+摘要值,其中,摘要值是根据随机因子计算的,也就是说,算法N中的任一个算法其实是包含了算法1的。即是,如果采用算法1计算,只需算出结果数据,并将该结果数据与注册信息的正确的有效信息进行比对即可;如果采用算法N中除算法1的算法,那么除了算出结果数据进行比对之外,还需对结果数据的尾部摘要值进行比对。从而通过上述设计机制,在每次启动随机定时校验线程时,根据随机因子都可以采用不同的算法(同时服务端和客户端采用相同算法),但能算出一样的数据,并进行正确的校验。
优选的,为了有利于充分利用资源,当注册信息为注册码时,可以先在客户端根据第二预设算法对注册信息进行校验,再在服务端根据第四预设算法对注册信息进行校验;而当注册信息为序列号时,在服务端存在序列号对应的注册码的情况下,可以先在在服务端根据第二预设算法对注册信息进行校验,再在在客户端根据第二预设算法对注册信息进行校验。
其中,当注册信息为序列号时,可以按照如下方式进行序列号的定时校验:
按照预设校验周期将序列号发送至服务端,以使得服务端查询是否存在序列号对应的注册码,若存在,则在确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册码进行校验,若注册码校验成功,则向客户端返回注册码;
接收服务端返回的注册码;
确定不同于第一预设算法的第二预设算法,按照第二预设算法对注册码进行校验。
需要说明的是,本实施例中,预设校验周期的计算起点可以为启动第一软件时的时间点,也可以为在启动第一软件前在客户端或服务端对注册信息进行校验的时间点,此处不做限定。
405、若客户端对注册信息校验成功,且服务端对注册信息校验成功,则保持第一软件的使用状态。
本实施例中,若注册信息在客户端本地的校验成功,且在服务端的校验成功,则可以保持第一软件的使用状态,使得使用者可以正常使用第一软件。
可以理解的是,本实施例中,在定时校验时,若客户端本地的校验失败或服务端的校验失败,则可以阻止使用者继续使用第一软件,使得使用者无法正常使用第一软件的功能,进一步的,客户端可以输出诸如注册信息错误或注册信息过期的提醒,以提示使用者购买正确且有效的注册信息并获得第一软件的授权。
需要说明的是,本实施例中在服务端一侧的定时校验过程可以参照上述说明的内容,此处不再赘述。
上面对本发明实施例中的软件版权保护方法进行了描述,下面从客户端一侧对本发明实施例中的软件版权保护装置进行描述,请参阅图5,本发明实施例中软件版权保护装置一个实施例包括:
获取模块501,用于在接收到针对第一软件的使用指令时,获取第一软件的注册信息;
校验模块502,用于对注册信息进行校验,并将注册信息发送至服务端,以使得服务端对注册信息进行校验;
启动模块503,用于当客户端对注册信息校验成功,且服务端对注册信息校验成功时,则启动第一软件。
可选的,在本发明的一些实施例中,注册信息可以包括注册码或根据注册码进行计算得到的序列号,若注册信息为序列号,校验模块502,可以进一步具体用于:
将序列号发送至服务端,以使得服务端查询是否存在序列号对应的注册码,若存在,则对注册码进行校验,若校验成功,则向客户端返回注册码;
接收服务端返回的注册码;
对注册码进行校验。
可选的,在本发明的一些实施例中,校验模块502,还可以进一步具体用于:
确定不同于第一预设算法的第二预设算法,按照预设校验周期和第二预设算法对注册信息进行校验,并按照预设校验周期将注册信息发送至服务端,以使得服务端确定不同于第一预设算法的第二预设算法后,按照第二预设算法对注册信息进行校验;
若客户端对注册信息校验成功,且服务端对注册信息校验成功,则保持第一软件的使用状态;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
上面从客户端一侧对本发明实施例中的软件版权保护装置进行了描述,下面从客户端一侧对本发明实施例中的软件版权保护装置进行描述,请参阅图6,本发明实施例中软件版权保护装置另一实施例包括:
获取模块601,用于获取第一软件的软件信息;
生成模块602,用于将软件信息生成注册信息;
存储模块603,用于存储注册信息。
可选的,在本发明的一些实施例中,如图7所示,装置还可以进一步包括:
下发模块604,用于按照预设方式下发注册信息。
可选的,在本发明的一些实施例中,基于图7,如图8所示,装置还可以进一步包括:
接收模块605,用于接收客户端发送的注册信息;
校验模块606,用于对注册信息进行校验;
通知模块607,用于当注册信息校验成功时,则通知客户端注册信息校验成功。
可选的,在本发明的一些实施例中,注册信息可以包括注册码或根据注册码进行计算得到的序列号,若注册信息为序列号,校验模块606,可以进一步具体用于:
查询是否存在序列号对应的注册码;
若存在,则对注册码进行校验,并发送注册码至客户端,以使得客户端对注册码进行校验。
可选的,在本发明的一些实施例中,校验模块606,可以进一步具体用于:
确定不同于第一预设算法的第二预设算法,按照第二预设算法对注册信息进行校验;
其中,第一预设算法为在上一个预设校验周期对注册信息进行校验时的算法。
可以理解的是,本发明还提供了一种软件版权保护系统,该软件版权保护系统可以客户端以及服务端,使得第一软件的注册信息不但具备客户端的算法校验以及服务端的算法校验的双重加密层面保护,更是基于服务端生成,大大提高了注册信息的安全层级,为软件开发商和软件开发者的软件版权保驾护航。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种软件版权保护方法,应用于客户端,其特征在于,包括:
在接收到针对第一软件的使用指令时,获取所述第一软件的注册信息;
对所述注册信息进行校验,并将所述注册信息发送至服务端,以使得所述服务端对所述注册信息进行校验;
若所述客户端对所述注册信息校验成功,且所述服务端对所述注册信息校验成功,则启动所述第一软件;
在所述启动所述第一软件后,所述方法还包括:
确定不同于第一预设算法的第二预设算法,启动第一软件后按照预设校验周期和所述第二预设算法对所述注册信息进行校验,并按照所述预设校验周期将所述注册信息发送至服务端,以使得所述服务端确定不同于所述第一预设算法的第二预设算法后,按照所述第二预设算法对所述注册信息进行校验;
若所述客户端对所述注册信息校验成功,且所述服务端对所述注册信息校验成功,则保持所述第一软件的使用状态;
其中,所述第一预设算法为在上一个所述预设校验周期对所述注册信息进行校验时的算法。
2.根据权利要求1所述的软件版权保护方法,其特征在于,所述注册信息包括注册码或序列号,所述序列号为根据所述注册码进行计算得到。
3.根据权利要求2所述的软件版权保护方法,其特征在于,若所述注册信息为所述序列号,所述对所述注册信息进行校验,并将所述注册信息发送至服务端,以使得所述服务端对所述注册信息进行校验包括:
将所述序列号发送至所述服务端,以使得所述服务端查询是否存在所述序列号对应的所述注册码,若存在,则对所述注册码进行校验,若所述注册码校验成功,则向所述客户端返回所述注册码;
接收所述服务端返回的所述注册码;
对所述注册码进行校验。
4.一种软件版权保护方法,应用于服务端,其特征在于,包括:
获取第一软件的软件信息;
将所述软件信息生成注册信息;
存储所述注册信息;
在所述将所述软件信息生成注册信息之后,所述方法还包括:
按照预设方式下发所述注册信息;
在所述按照预设方式下发所述注册信息之后,所述方法还包括:
接收客户端发送的所述注册信息;
对所述注册信息进行校验;
若校验成功,则通知所述客户端所述注册信息校验成功,以使得所述客户端也对所述注册信息校验成功时,启动所述第一软件;
在启动所述第一软件后,确定不同于第一预设算法的第二预设算法,并按照所述第二预设算法对所述注册信息进行校验,若校验成功,则通知所述客户端所述注册信息校验成功,以使得所述客户端也对所述注册信息校验成功时,所述客户端保持所述第一软件的使用状态;
其中,所述第一预设算法为在上一个预设校验周期对所述注册信息进行校验时的算法。
5.根据权利要求4所述的软件版权保护方法,其特征在于,所述注册信息包括注册码或序列号,所述序列号为根据所述注册码进行计算得到。
6.根据权利要求5所述的软件版权保护方法,其特征在于,若所述注册信息为所述序列号,所述对所述注册信息进行校验包括:
查询是否存在所述序列号对应的所述注册码;
若存在,则对所述注册码进行校验;
若校验成功,则发送所述注册码至所述客户端,以使得所述客户端对所述注册码进行校验。
7.一种软件版权保护装置,应用于客户端,其特征在于,包括:
获取模块,用于在接收到针对第一软件的使用指令时,获取所述第一软件的注册信息;
校验模块,用于对所述注册信息进行校验,并将所述注册信息发送至服务端,以使得所述服务端对所述注册信息进行校验;
启动模块,用于当所述客户端对所述注册信息校验成功,且所述服务端对所述注册信息校验成功时,则启动所述第一软件;
所述校验模块,还具体用于:
确定不同于第一预设算法的第二预设算法,启动第一软件后按照预设校验周期和所述第二预设算法对所述注册信息进行所述校验,并按照所述预设校验周期将所述注册信息发送至服务端,以使得所述服务端确定不同于所述第一预设算法的第二预设算法后,按照所述第二预设算法对所述注册信息进行校验;
若所述客户端对所述注册信息校验成功,且所述服务端对所述注册信息校验成功,则保持所述第一软件的使用状态;
其中,所述第一预设算法为在上一个预设校验周期对所述注册信息进行所述校验时的算法。
8.根据权利要求7所述的软件版权保护装置,其特征在于,所述注册信息包括注册码或序列号,所述序列号为根据所述注册码进行计算得到。
9.根据权利要求8所述的软件版权保护装置,其特征在于,若所述注册信息为所述序列号,所述校验模块,具体用于:
将所述序列号发送至所述服务端,以使得所述服务端查询是否存在所述序列号对应的所述注册码,若存在,则对所述注册码进行校验,若所述注册码校验成功,则向所述客户端返回所述注册码;
接收所述服务端返回的所述注册码;
对所述注册码进行校验。
10.一种软件版权保护装置,应用于服务端,其特征在于,包括:
获取模块,用于获取第一软件的软件信息;
生成模块,用于将所述软件信息生成注册信息;
存储模块,用于存储所述注册信息;
所述装置还包括:
下发模块,用于按照预设方式下发所述注册信息;
所述装置还包括:
接收模块,用于接收客户端发送的所述注册信息;
校验模块,用于对所述注册信息进行校验;
通知模块,用于当所述注册信息校验成功时,则通知所述客户端所述注册信息校验成功,以使得所述客户端也对所述注册信息校验成功时,启动所述第一软件;
所述校验模块,还用于:
确定不同于第一预设算法的第二预设算法,第一软件启动后按照预设校验周期和所述第二预设算法对所述注册信息进行校验,若校验成功,则触发所述通知模块通知所述客户端所述注册信息校验成功,以使得所述客户端也对所述注册信息校验成功时,所述客户端保持所述第一软件的使用状态;
其中,所述第一预设算法为在上一个预设校验周期对所述注册信息进行校验时的算法。
11.根据权利要求10所述的软件版权保护装置,其特征在于,所述注册信息包括注册码或序列号,所述序列号为根据所述注册码进行计算得到。
12.根据权利要求11所述的软件版权保护装置,其特征在于,若所述注册信息为所述序列号,所述校验模块,具体用于:
查询是否存在所述序列号对应的所述注册码;
若存在,则对所述注册码进行校验,若校验成功则发送所述注册码至所述客户端,以使得所述客户端对所述注册码进行校验。
13.一种软件版权保护系统,其特征在于,包括如权利要求7至9中任一项所述的软件版权保护装置以及如权利要求10至12中任一项所述的软件版权保护装置。
CN201710326010.8A 2017-05-10 2017-05-10 一种软件版权保护方法、客户端、服务端以及系统 Active CN107133499B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710326010.8A CN107133499B (zh) 2017-05-10 2017-05-10 一种软件版权保护方法、客户端、服务端以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710326010.8A CN107133499B (zh) 2017-05-10 2017-05-10 一种软件版权保护方法、客户端、服务端以及系统

Publications (2)

Publication Number Publication Date
CN107133499A CN107133499A (zh) 2017-09-05
CN107133499B true CN107133499B (zh) 2020-12-18

Family

ID=59732154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710326010.8A Active CN107133499B (zh) 2017-05-10 2017-05-10 一种软件版权保护方法、客户端、服务端以及系统

Country Status (1)

Country Link
CN (1) CN107133499B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159657A (zh) * 2019-11-22 2020-05-15 深圳智链物联科技有限公司 一种应用程序鉴权方法及系统
CN112231651A (zh) * 2020-10-26 2021-01-15 山东超越数控电子股份有限公司 一种防止反编译篡改版权授权的方法
CN112988333B (zh) * 2021-04-26 2021-09-03 武汉深之度科技有限公司 一种容器应用认证方法、系统、计算设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1782941A (zh) * 2004-12-04 2006-06-07 鸿富锦精密工业(深圳)有限公司 软件授权与保护装置及方法
CN101398873A (zh) * 2008-10-30 2009-04-01 宇龙计算机通信科技(深圳)有限公司 加载第三方软件的方法及系统
CN101753575A (zh) * 2009-12-24 2010-06-23 金蝶软件(中国)有限公司 一种使用许可和服务许可的实现方法以及认证装置
CN101964031A (zh) * 2009-07-24 2011-02-02 佳能株式会社 许可证管理系统及其验证方法、服务器装置及其方法
CN102222389A (zh) * 2011-06-30 2011-10-19 北京天诚盛业科技有限公司 一种金融ic卡内指纹比对的实现方法及装置
CN103164642A (zh) * 2011-12-19 2013-06-19 比亚迪股份有限公司 一种防止软件盗版的方法及系统
CN104361267A (zh) * 2014-11-19 2015-02-18 厦门海迈科技股份有限公司 基于非对称加密算法的软件授权与保护装置及方法
CN106446616A (zh) * 2016-09-14 2017-02-22 金蝶软件(中国)有限公司 一种软件保护方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327091A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation License management for software products

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1782941A (zh) * 2004-12-04 2006-06-07 鸿富锦精密工业(深圳)有限公司 软件授权与保护装置及方法
CN101398873A (zh) * 2008-10-30 2009-04-01 宇龙计算机通信科技(深圳)有限公司 加载第三方软件的方法及系统
CN101964031A (zh) * 2009-07-24 2011-02-02 佳能株式会社 许可证管理系统及其验证方法、服务器装置及其方法
CN101753575A (zh) * 2009-12-24 2010-06-23 金蝶软件(中国)有限公司 一种使用许可和服务许可的实现方法以及认证装置
CN102222389A (zh) * 2011-06-30 2011-10-19 北京天诚盛业科技有限公司 一种金融ic卡内指纹比对的实现方法及装置
CN103164642A (zh) * 2011-12-19 2013-06-19 比亚迪股份有限公司 一种防止软件盗版的方法及系统
CN104361267A (zh) * 2014-11-19 2015-02-18 厦门海迈科技股份有限公司 基于非对称加密算法的软件授权与保护装置及方法
CN106446616A (zh) * 2016-09-14 2017-02-22 金蝶软件(中国)有限公司 一种软件保护方法及装置

Also Published As

Publication number Publication date
CN107133499A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
US7506382B2 (en) Method and system for licensing a software product
EP2115659B1 (en) Secure serial number
CN102508791B (zh) 一种对硬盘分区进行加密的方法及装置
CN102479304B (zh) 软件权限控制方法、客户端及系统
US8660964B2 (en) Secure device licensing
US6799277B2 (en) System and method for monitoring software
CN102438013B (zh) 基于硬件的证书分发
US8250630B2 (en) Detecting unauthorized computer access
US20040128395A1 (en) License management method and license management system
CN112231647A (zh) 一种软件授权验证方法
CN106919810B (zh) 注册码生成方法及装置、软件注册方法及装置
CN110832479A (zh) 用于软件激活和许可证跟踪的系统和方法
US20140157368A1 (en) Software authentication
CN114186199B (zh) 许可授权方法及装置
CN107133499B (zh) 一种软件版权保护方法、客户端、服务端以及系统
CN111159656A (zh) 一种防止软件非授权使用的方法、装置、设备和存储介质
CN110032835A (zh) 一种防止软件复制与迁移的软加密技术
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
US20050044219A1 (en) Method to disable on/off capacity on demand
US9177123B1 (en) Detecting illegitimate code generators
US20080313743A1 (en) Network Software License Management and Piracy Protection
CN114925336A (zh) 一种激活软件的方法及系统
CN112286553B (zh) 用户锁的升级方法、装置、系统、电子设备和存储介质
CN108809651B (zh) 密钥对管理方法和终端
CN114117360A (zh) 外网源的访问方法、访问授权方法、装置及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 01 and 02, 10 / F, building 4, zone 3, No. 186, South Fourth Ring West Road, Fengtai District, Beijing 100070

Applicant after: GUOXIN ELECTRONIC BILL PLATFORM INFORMATION SERVICE Co.,Ltd.

Address before: 100089 Beijing, Haidian District West Third Ring Road, No. 13, layer 1-1303, No. 87

Applicant before: BEST WONDER ELECTRONIC INVOICE DATA SERVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant