CN109933957A - 一种软件期限验证的方法及装置 - Google Patents
一种软件期限验证的方法及装置 Download PDFInfo
- Publication number
- CN109933957A CN109933957A CN201711371025.2A CN201711371025A CN109933957A CN 109933957 A CN109933957 A CN 109933957A CN 201711371025 A CN201711371025 A CN 201711371025A CN 109933957 A CN109933957 A CN 109933957A
- Authority
- CN
- China
- Prior art keywords
- time
- software
- last
- registration
- module
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件期限验证的方法及装置,属于软件加密领域。所述方法包括:在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表;判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻;如果是,则运行所述软件;如果否,则提示用户注册。本发明通过所述软件期限验证的方法及装置,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问题。
Description
技术领域
本发明涉及软件加密领域,特别涉及一种软件期限验证的方法及装置。
背景技术
随着信息社会的发展,如何保护自己的软件版权,始终困扰着每一个程序员。在各种软件开发以及软件知识产权领域,利用灵活、便捷和经济的软件注册方法是相当有必要的,不仅对软件版权的保护有很大作用而且对于企业来说,成本的下降和应得利益的回收有实际的意义。
如图1所示,描述出了实现注册功能的流程。程序在启动之后,将进行注册验证和期限验证,注册验证的输出结果为假时,进行期限验证,根据期限验证的结果决定是否需要注册。
目前,期限验证通常采用以下方式:获取当前时刻和软件使用期限时间,当当前时刻早于软件使用期限时间时,通过期限验证。但是当前时刻根据系统时间获得,用户可能自行修改系统时间以延长软件使用时间,使得期限验证无效。
发明内容
本发明实施例提供了一种软件期限验证的方法及装置,解决了用户自行修改系统时间以期延长软件使用时间的问题。
一方面,本发明实施例提供了一种软件期限验证的方法,所述方法包括:
在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表;
判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻;
如果是,则运行所述软件;
如果否,则提示用户注册。
第二方面,本发明实施例提供了一种软件期限验证的装置,所述装置包括:
获取模块,用于在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表;
第一判断模块,用于判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻;
运行模块,用于如果判断模块判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则运行所述软件;
提示模块,用于如果判断模块判断不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则提示用户注册。
本发明提供的技术方案带来的有益效果是:
从上述本发明实施例可知,由于对首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻进行比较,识别出用户对系统时间的更改,因此,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问。
附图说明
图1为软件注册功能的流程图;
图2为本发明一种软件期限验证方法的第一实施例流程图;
图3为本发明一种软件期限验证的方法第二实施例流程图;
图4为本发明一种软件期限验证的装置第一实施例结构示意图;
图5为本发明一种软件期限验证的装置第二实施例结构示意图;
图6为注册表中时间的数据格式示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明一种软件期限验证的方法第一实施例流程,参见图2,所述方法包括:
101:在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表。
所述首次使用所述软件的时刻和所述上次使用所述软件的时刻记录在注册表中,开启软件时,从注册表中获取首次使用所述软件的时刻和上次使用所述软件的时刻,根据系统时间获取当前时刻。
在软件的算法设计中,采用三个变量来对时间信息进行存储并写入到注册表文件中,这里设置为StartTime、NowTime以及PrevTime。StartTime表示首次使用所述软件的时刻,NowTime表示当前时刻,PrevTime表示上次使用所述软件的时刻。当软件不是第一次运行时,读取注册表中写入的StartTime以及PrevTime值,并根据系统时间为NowTime赋值。
注册表中写入的时间虽然是首次启动和上次启动所述软件时获取的本机的系统时间,但是在写入到注册表时,进行了移位操作,也就是一定的算法加密,而且注册表中有自己特有的数据格式,如图6所示,所以用户无法自行对注册表中写入的时间进行修改。
102:判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻。
103a:如果是,则运行所述软件。
如果首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户是正常使用,没有对系统时间进行修改,此时,运行所述软件。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则说明用户是正常使用,没有对系统时间进行修改,此时,运行所述软件。
103b:如果否,则提示用户注册。
如果不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户对系统时间进行了自行修改,此时,提示用户注册,如果用户不进行注册,软件将直接关闭。
例如,当首次使用所述软件的时刻为2013年6月7日,上次使用所述软件的时刻为2013年9月5日,当前时刻为2013年8月13日,则说明用户对系统时间进行了自行修改,此时,提示用户注册,如果用户不进行注册,软件将直接关闭。
其中,步骤103a和步骤103b只执行其中一个。
本实施例通过对首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻进行比较,识别出用户对系统时间的更改,因此,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问题。
本发明一种软件期限验证的方法第二实施例流程,如图3所示,所述方法流程包括:
201:根据注册表中的第一标识和软件中的第二标识的值判断所述软件是否已经注册,如果否,执行步骤202;如果是,执行步骤204a。
有必要对软件是否注册进行算法运算,需要分别在软件和注册表中创建标识对软件的注册信息进行记录,通过对软件和注册表中标识的判断,做出相对应的处理。具体实施中,可以将所述软件和注册表中标识的值设置为布尔型,并在程序初始化时将软件中的第二标识置为FALSE和在写入注册表时将注册表中的第一标识写为假。软件在注册之后,将注册表中的第一标识和软件中的第二标识置为真。软件在验证注册时先对注册表中第一标识进行真假验证,为假的话表明软件没有注册,为真则再验证软件中的第二标识,软件中的第二标识为真则表明软件已经注册,为假则说明用户对注册表中的该值进行过修改。这样做就避免了注册表被恶意篡改而造成的漏洞。
202:在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表。
在软件的算法设计中,采用三个变量来对时间信息进行存储并写入到注册表文件中,这里设置为StartTime、NowTime以及PrevTime。StartTime表示首次使用所述软件的时刻,NowTime表示当前时刻,PrevTime表示上次使用所述软件的时刻。当软件不是第一次运行时,读取注册表中写入的StartTime以及PrevTime值,并根据系统时间为NowTime赋值。
注册表中写入的时间虽然是首次启动和上次启动所述软件时获取的本机的系统时间,但是在写入到注册表时,进行了移位操作,也就是一定的算法加密,而且注册表中有自己特有的数据格式,如图6所示,所以用户无法自行对注册表中写入的时间进行修改。
203:判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则判断判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻。
204a:如果是,则运行所述软件。
如果首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户是正常使用,没有对系统时间进行修改,此时,运行所述软件。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则说明用户是正常使用,没有对系统时间进行修改,此时,运行所述软件。
205a:将当前时刻赋值于上次使用所述软件的时刻。
将NowTime的值赋给PrevTime,并将其写入到注册表中。
204b:如果否,则提示用户注册。
如果不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户对系统时间进行了自行修改,此时,提示用户注册,如果用户不进行注册,软件将直接关闭。
例如,当首次使用所述软件的时刻为2013年6月7日,上次使用所述软件的时刻为2013年9月5日,当前时刻为2013年8月13日,则说明用户对系统时间进行了自行修改,此时,提示用户注册,如果用户不进行注册,软件将直接关闭。
205b:利用全局唯一标识符生成软件序列号,根据软件序列号采用MD5算法计算出和序列号唯一匹配的注册码,判断注册码和软件中预设的序号是否匹配,如果匹配则注册成功,并将所述第一标识和所述第二标识设为相同的逻辑值。
软件序列号的生成采用全局唯一标识符,序列号生成器内部经过一定算法,产生一串32个长度的十六进制的序列码,实质上是一个128位长度的二进制整数,在理论上可以产生2128(3.4×1038)个,生成两个相同的全局唯一标识符的可能性非常小,在程序发布时,将生成的软件序列号随程序一起发布,以此对软件进行唯一标识。当软件判断需要进行注册时,用户则将使用软件的序列号返还给开发商,开发商再将该序列号提供给注册机。注册机利用序列号生成器生成的序列号(即用户返还的序列号),经过MD5算法运算,生成一组32位长度的十六进制字符串,即为注册码,并提供给用户软件进行注册。通过判断注册码和软件中预设的序号是否匹配,判断注册是否成功;如果注册成功,将所述第一标识和所述第二标识设为相同的逻辑值,所述第一标识和所述第二标识的数据类型为布尔型。
全局唯一标识符,简称GUID,是一种由算法生成的唯一标识。主要目的是产生完全唯一的数字。在理想情况下,任何计算机和计算机集群都不会生成两个相同的全局唯一标识符。随机生成两个相同全局唯一标识符的可能性是非常小的,但并不为0。所以,用于生成全局唯一标识符的算法通常都加入了非随机的参数,如时间,以保证这种重复的情况不会发生。
MD5(Message-DigestAlgorithm5,消息摘要算法第五版),是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一,又译哈希算法、摘要算法等,是在1991年被Rivest开发出的技术上更为趋近成熟的,它在MD4的基础上增加了"安全-带子"的概念。虽然MD5比MD4复杂度大一些,但却更为安全。
其中,步骤204a、205a和步骤204b、205b只执行其中一个分支。
本实施例通过对首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻进行比较,识别出用户对系统时间的更改,因此,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问题,并在软件中设置标识记录是否注册,避免了注册表被恶意篡改而造成的漏洞。
与本发明一种软件期限验证的方法的实施例相对应,本发明还提供一种软件期限验证的装置的实施例。
本发明一种软件期限验证的装置的第一实施例结构示意图如图4所示,所述装置40包括:获取模块410、第一判断模块420、运行模块430和提示模块440。
获取模块410,用于在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表。
所述首次使用所述软件的时刻和所述上次使用所述软件的时刻记录在注册表中,开启软件时,获取模块410从注册表中获取首次使用所述软件的时刻和上次使用所述软件的时刻,根据系统时间获取当前时刻。
在软件的算法设计中,采用三个变量来对时间信息进行存储并写入到注册表文件中,这里设置为StartTime、NowTime以及PrevTime。StartTime表示首次使用所述软件的时刻,NowTime表示当前时刻,PrevTime表示上次使用所述软件的时刻。当软件不是第一次运行时,获取模块410读取注册表中写入的StartTime以及PrevTime值,并根据系统时间为NowTime赋值。
注册表中写入的时间虽然是首次启动和上次启动所述软件时获取的本机的系统时间,但是在写入到注册表时,进行了移位操作,也就是一定的算法加密,而且注册表中有自己特有的数据格式,如图6所示,所以用户无法自行对注册表中写入的时间进行修改。
第一判断模块420,用于判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则第一判断模块420判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻。
运行模块430,用于如果判断模块420判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则运行所述软件。
如果判断模块420判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户是正常使用,没有对系统时间进行修改,此时,运行模块430运行所述软件。
例如,当首次使用所述软件的时刻为2013年4月5日,上次使用所述软件的时刻为2013年6月5日,当前时刻为2013年8月13日,则说明用户是正常使用,没有对系统时间进行修改,此时,运行模块430运行所述软件。
提示模块440,用于如果判断模块420判断不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则提示用户注册。
如果判断模块420判断不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则说明用户对系统时间进行了自行修改,此时,提示模块440提示用户注册,如果用户不进行注册,软件将直接关闭。
例如,当首次使用所述软件的时刻为2013年6月7日,上次使用所述软件的时刻为2013年9月5日,当前时刻为2013年8月13日,则说明用户对系统时间进行了自行修改,此时,提示模块440提示用户注册,如果用户不进行注册,软件将直接关闭。
其中,运行模块430和提示模块440只执行其中一个。
本实施例通过对首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻进行比较,识别出用户对系统时间的更改,因此,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问题。
本发明一种软件期限验证的装置的第二实施例结构示意图如图5所示,所述装置50包括获取模块410、第一判断模块420、运行模块430、提示模块440、第二判断模块450、注册模块460和赋值模块470。其中获取模块410、第一判断模块420、运行模块430和提示模块440和一种软件期限验证的装置的第一实施例中相同,此处不再赘述。
第二判断模块450,用于根据注册表中的第一标识和软件中的第二标识的值判断所述软件是否已经注册。
若第二判断模块450判断所述软件没有注册,则触发获取模块410,若判断所述软件已经注册,则触发运行模块430。
有必要对软件是否注册进行算法运算,需要分别在软件和注册表中创建标识对软件的注册信息进行记录,通过对软件和注册表中标识的判断,做出相对应的处理。具体实施中,可以将所述软件和注册表中标识的值设置为布尔型,并在程序初始化时将软件中的第二标识置为FALSE和在写入注册表时将注册表中的第一标识写为假。软件在注册之后,将注册表中的第一标识和软件中的第二标识置为真。第二判断模块450在验证注册时先对注册表中第一标识进行真假验证,为假的话表明软件没有注册,为真则再验证软件中的第二标识,软件中的第二标识为真则表明软件已经注册,为假则说明用户对注册表中的该值进行过修改。这样做就避免了注册表被恶意篡改而造成的漏洞。
注册模块460,用于利用全局唯一标识符生成软件序列号,根据软件序列号采用MD5算法计算出和序列号唯一匹配的注册码,判断注册码和软件中预设的序号是否匹配,如果匹配则注册成功,并将所述第一标识和所述第二标识设为相同的逻辑值。
软件序列号的生成采用全局唯一标识符,序列号生成器内部经过一定算法,产生一串32个长度的十六进制的序列码,实质上是一个128位长度的二进制整数,在理论上可以产生2128(3.4×1038)个,生成两个相同的全局唯一标识符的可能性非常小,在程序发布时,将生成的软件序列号随程序一起发布,以此对软件进行唯一标识。当软件判断需要进行注册时,用户则将使用软件的序列号返还给开发商,开发商再将该序列号提供给注册机。注册机利用序列号生成器生成的序列号(即用户返还的序列号),经过MD5算法运算,生成一组32位长度的十六进制字符串,即为注册码,并提供给用户软件进行注册。注册模块460通过判断注册码和软件中预设的序号是否匹配,判断注册是否成功;如果注册成功,将所述第一标识和所述第二标识设为相同的逻辑值,所述第一标识和所述第二标识的数据类型为布尔型。
全局唯一标识符,简称GUID,是一种由算法生成的唯一标识。主要目的是产生完全唯一的数字。在理想情况下,任何计算机和计算机集群都不会生成两个相同的全局唯一标识符。随机生成两个相同全局唯一标识符的可能性是非常小的,但并不为0。所以,用于生成全局唯一标识符的算法通常都加入了非随机的参数,如时间,以保证这种重复的情况不会发生。
MD5(Message-DigestAlgorithm5,消息摘要算法第五版),是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一,又译哈希算法、摘要算法等,是在1991年被Rivest开发出的技术上更为趋近成熟的,它在MD4的基础上增加了"安全-带子"的概念。虽然MD5比MD4复杂度大一些,但却更为安全。
赋值模块470,用于将当前时刻赋值于上次使用所述软件的时刻。
将NowTime的值赋给PrevTime,并将其写入到注册表中。
其中,所述首次使用所述软件的时刻和所述上次使用所述软件的时刻记录在注册表中,所述获取模块410具体用于开启软件时,从注册表中获取首次使用所述软件的时刻和上次使用所述软件的时刻,根据系统时间获取当前时刻。
其中,运行模块430、赋值模块470和提示模块440、注册模块460只执行其中一个分支。
本实施例通过对首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻进行比较,识别出用户对系统时间的更改,因此,实现了对软件期限的有效验证,解决了用户自行修改系统时间以期延长软件使用时间的问题,并在软件中设置标识记录是否注册,避免了注册表被恶意篡改而造成的漏洞。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件期限验证的方法,其特征在于,所述方法包括:
在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表;
判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻;
如果是,则运行所述软件;
如果否,则提示用户注册。
2.根据权利要求1所述的方法,其特征在于,所述在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻具体为:
开启所述软件时,从注册表中获取首次使用所述软件的时刻和上次使用所述软件的时刻,根据系统时间获取当前时刻。
3.根据权利要求1所述的方法,其特征在于,所述在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻之前还包括:
根据注册表中的第一标识和软件中的第二标识的值判断所述软件是否已经注册;
若判断所述软件没有注册,则执行在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻步骤,若判断所述软件已经注册,则执行运行所述软件步骤。
4.根据权利要求3所述的方法,其特征在于,所述第一标识和所述第二标识的数据类型为布尔型,所述提示用户注册之后还包括:
利用全局唯一标识符生成软件序列号,根据软件序列号采用MD5算法计算出和序列号唯一匹配的注册码,判断注册码和软件中预设的序号是否匹配,如果匹配则注册成功,并将所述第一标识和所述第二标识设为相同的逻辑值。
5.根据权利要求1所述的方法,其特征在于,所述运行所述软件之后还包括:
将当前时刻赋值于上次使用所述软件的时刻。
6.一种软件期限验证的装置,其特征在于,所述装置包括:
获取模块,用于在开启软件时,获取首次使用所述软件的时刻、上次使用所述软件的时刻和当前时刻,所述首次使用所述软件的时刻和上次使用所述软件的时刻分别在首次启动和上次启动所述软件时写入注册表;
第一判断模块,用于判断首次使用所述软件的时刻是否早于上次使用所述软件的时刻,和上次使用所述软件的时刻是否早于当前时刻;
运行模块,用于如果判断模块判断首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则运行所述软件;
提示模块,用于如果判断模块判断不满足首次使用所述软件的时刻早于上次使用所述软件的时刻,和上次使用所述软件的时刻早于当前时刻,则提示用户注册。
7.根据权利要求6所述的装置,其特征在于,所述获取模块具体用于开启所述软件时,从注册表中获取首次使用所述软件的时刻和上次使用所述软件的时刻,根据系统时间获取当前时刻。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二判断模块,用于根据注册表中的第一标识和软件中的第二标识的值判断所述软件是否已经注册;
若第二判断模块判断所述软件没有注册,则触发获取模块,若判断所述软件已经注册,则触发运行模块。
9.根据权利要求8所述的装置,其特征在于,还包括:
注册模块,用于利用全局唯一标识符生成软件序列号,根据软件序列号采用MD5算法计算出和序列号唯一匹配的注册码,判断注册码和软件中预设的序号是否匹配,如果匹配则注册成功,并将所述第一标识和所述第二标识设为相同的逻辑值。
10.根据权利要求6所述的装置,其特征在于,还包括:
赋值模块,用于将当前时刻赋值于上次使用所述软件的时刻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371025.2A CN109933957A (zh) | 2017-12-19 | 2017-12-19 | 一种软件期限验证的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371025.2A CN109933957A (zh) | 2017-12-19 | 2017-12-19 | 一种软件期限验证的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109933957A true CN109933957A (zh) | 2019-06-25 |
Family
ID=66983141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711371025.2A Withdrawn CN109933957A (zh) | 2017-12-19 | 2017-12-19 | 一种软件期限验证的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933957A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460393A (zh) * | 2020-03-18 | 2020-07-28 | 紫光云技术有限公司 | 一种防止系统绕过软件license时间管控的方法 |
CN111611577A (zh) * | 2020-05-22 | 2020-09-01 | 北京金山云网络技术有限公司 | 鉴权方法、装置、系统、电子设备及计算机可读存储介质 |
CN113660205A (zh) * | 2021-07-12 | 2021-11-16 | 浙江瑞银电子有限公司 | 一种软件授权码加密方法 |
-
2017
- 2017-12-19 CN CN201711371025.2A patent/CN109933957A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460393A (zh) * | 2020-03-18 | 2020-07-28 | 紫光云技术有限公司 | 一种防止系统绕过软件license时间管控的方法 |
CN111611577A (zh) * | 2020-05-22 | 2020-09-01 | 北京金山云网络技术有限公司 | 鉴权方法、装置、系统、电子设备及计算机可读存储介质 |
CN111611577B (zh) * | 2020-05-22 | 2023-10-03 | 北京金山云网络技术有限公司 | 鉴权方法、装置、系统、电子设备及计算机可读存储介质 |
CN113660205A (zh) * | 2021-07-12 | 2021-11-16 | 浙江瑞银电子有限公司 | 一种软件授权码加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492378B (zh) | 一种基于设备识别码的身份验证方法、服务器及介质 | |
CN112073807B (zh) | 基于区块链的视频数据的处理方法和装置 | |
CN103577727B (zh) | 一种软件期限验证的方法及装置 | |
CN111898360A (zh) | 基于区块链的文本相似性检测方法及装置、电子设备 | |
JP7422366B2 (ja) | 物流追跡および配送元特定のための方法、アプリケーションサーバ、ブロックチェーンノードおよび媒体 | |
CN109933957A (zh) | 一种软件期限验证的方法及装置 | |
BRPI0612995A2 (pt) | mÉtodo de verificaÇço, dispositivo de processamento de informaÇço, circuito integrado implementado em um dispositivo de processamento de informaÇço, meio de armazenamento e programa de verificaÇço | |
CN108196851A (zh) | 应用发布方法及装置 | |
CN104092544B (zh) | 兼容安卓应用的服务签名方法与装置 | |
CN108256354B (zh) | 一种基于试验数据的存储方法及存储介质 | |
CN110825639B (zh) | 一种防篡改时间的软件License验证方法 | |
EP3413189A1 (en) | Random number generator | |
CN109271445A (zh) | 利用区块链存储数据的方法、装置及电子设备 | |
CN111324517B (zh) | 应用服务监管方法、监管服务器及存储介质 | |
CN106780280B (zh) | 数字水印加密方法及装置 | |
CN101739525B (zh) | 安全校验的方法、编译装置、可运行.net程 序的装置和系统 | |
CN107169318A (zh) | 一种应用程序安全保护的方法及装置 | |
CN108256351B (zh) | 文件处理方法和装置、存储介质及终端 | |
EP2756443A1 (en) | Security mechanism for developmental operating systems | |
CN107341389B (zh) | 防止设备复用的方法及装置 | |
WO2022134419A1 (zh) | 应用程序的篡改检测方法、装置、设备及存储介质 | |
Abdel-Hamid et al. | Fragile IP watermarking techniques | |
CN106874759A (zh) | 一种木马随机化行为的识别方法及系统 | |
CN107205001A (zh) | python脚本的更新方法及装置、客户端、服务器 | |
US20240161092A1 (en) | Cryptographic digital media authentication and protection protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190625 |