CN116383779A - 一种防软件盗版的软件授权许可系统 - Google Patents

一种防软件盗版的软件授权许可系统 Download PDF

Info

Publication number
CN116383779A
CN116383779A CN202310311226.2A CN202310311226A CN116383779A CN 116383779 A CN116383779 A CN 116383779A CN 202310311226 A CN202310311226 A CN 202310311226A CN 116383779 A CN116383779 A CN 116383779A
Authority
CN
China
Prior art keywords
software
serial number
key
user computer
file
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
Application number
CN202310311226.2A
Other languages
English (en)
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.)
Shanghai Spaceflight Electronic and Communication Equipment Research Institute
Original Assignee
Shanghai Spaceflight Electronic and Communication Equipment Research Institute
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 Shanghai Spaceflight Electronic and Communication Equipment Research Institute filed Critical Shanghai Spaceflight Electronic and Communication Equipment Research Institute
Priority to CN202310311226.2A priority Critical patent/CN116383779A/zh
Publication of CN116383779A publication Critical patent/CN116383779A/zh
Pending legal-status Critical Current

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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及计算机操作系统安全技术领域,提供了一种防软件盗版的软件授权许可系统,包括:序列号生成软件、密钥软件、应用动态链接库;通过序列号生成软件获取用户计算机序列号,并将用户计算机序列号发送到软件开发商计算机上;软件开发商通过密钥软件和用户计算机序列号生成License文件,同时密钥软件根据需要设置软件运行的到期时间限制、运行时间限制、设备数量限制、加密秘钥数值,最后通过密钥软件生成秘钥文件;应用动态链接库为目标运行软件对License文件和密钥文件解析的接口;目标运行软件在License文件和密钥文件双重验证下保证软件按照软件开发商设置的权限要求运行。该发明提高软件的安全性且大大提高破解难度,对软件保护具有很高的商业价值。

Description

一种防软件盗版的软件授权许可系统
技术领域
本发明涉及计算机操作系统安全技术领域,尤其涉及一种防软件盗版的软件授权许可系统。
背景技术
由于Qt开发桌面程序具有跨平台、界面美观、易用性等特点,很多软件公司为解决用户需求用Qt开发桌面程序软件。然而桌面程序软件缺点是开发成本高,开发周期长,易被复制和破解,更新和维护困难。
由于这些缺点,软件企业一直遭受到盗版的威胁和经济的损失,难以维持业务运营和新产品的开发,从而影响市场竞争力和正常的市场秩序。除此之外,盗版软件通常不受官方更新和维护,易受病毒和恶意软件的攻击,从而造成用户数据泄露、系统崩溃等问题。因此这些软件盗版的现象不仅损害了软件企业的利益,还给用户带来了不良的影响。因此有必要采取一系列措施来防止软件盗版的发生。
目前国内外采用的软件保护方法主要有两种:硬件加密和软件加密。针对这两种加密方法有两种主要的软件保护产品:以加密狗为代表的硬件加密产品和以序列号为代表的软件加密产品。然而硬件加密方法的缺点是需要额外的硬件载体,会增加企业的成本,同时也增加维护成本;软件加密的实现成本较低,也是当前软件保护最为常用的方法。
发明内容
本发明的目的是针对上述技术问题,提出一种防软件盗版的软件授权许可系统,本发明的目的可通过下列技术方案来实现:
一种防软件盗版的软件授权许可系统,所述防软件盗版的软件授权许可系统由Qt工具开发,包括:序列号生成软件、密钥软件、应用动态链接库,具体操作步骤如下:
S1:所述序列号生成软件获取用户计算机硬件信息并且转换为用户计算机序列号,并将所述用户计算机序列号发送到软件开发商计算机上;
S2:所述软件开发商计算机收到所述用户计算机序列号后,通过所述密钥软件对所述用户计算机序列号进行加密,生成一个License文件;同时所述密钥软件根据需要设置目标应用软件的权限和加密密钥数值,通过相应的算法生成密钥文件;
S3:所述目标应用软件通过所述应用动态链接库提供的函数接口加载所述License文件并校验序列号是否一致;所述函数接口加载解析所述密钥文件,校验所述目标应用软件设置的权限;在所述License文件和所述密钥文件的双重验证下按照所述软件开发商设置的权限要求运行。
进一步地,所述序列号生成软件具体步骤如下:
S11:通过WMIC命令获取获取所述用户计算机硬件信息,所述用户计算机硬件信息包括CPU序列号、操作系统所在的硬盘序列号、主板序列号和BIOS序列号;
S12:生成所述用户计算机序列号,将所述用户计算机硬件信息按照预设的顺序组合成一个字符串;
S13:加密所述用户计算机序列号,将组合的所述字符串进行反转,依次取出偶数项和奇数项再进行拼接获得最终的所述序列号,以增加破解的难度。
进一步地,所述License文件,具体生成步骤如下:
所述密钥软件输入所述用户计算机序列号,通过MD5算法处理所述用户计算机序列号生成字节数组,将所述字节数组以二进制形式写到所述文件中,生成所述License文件。
进一步地,所述密钥文件,具体生成步骤如下:
将所述目标应用软件权限参数和是否启用对应权限状态参数进行字符串拼接,同时将当前生成所述密钥文件的计算机系统时间加入到字符串拼接中;将拼接后的所述字符串转换为所述字节数组;将所述字节数组中的每个元素与所述加密密钥数值进行异或运算,进行异或后的所述字节数组写入到文件中,生成密钥文件。
进一步地,所述密钥软件设置的所述目标应用软件权限包括到期时间限制、运行时间限制、设备数量限制;
所述到期时间限制是设置软件保护的运行截止日期;
所述运行时间限制是设置软件运行后连续运行时间,单位为分钟;
所述设备数量限制是限制软件可操作设备数量或者限制软件的某些功能项的使用次数。
进一步地,所述加密密钥数值一个自然数N,且1≤N≤255。
进一步地,所述应用动态链接库是为所述目标应用软件提供解析所述License文件和所述密钥文件算法的函数接口。
进一步地,所述目标应用软件对所述License文件校验算法步骤如下:
通过所述WMIC命令获取所述用户计算机硬件信息,所述用户计算机硬件信息包括所述CPU序列号、所述操作系统所在的硬盘序列号、所述主板序列号和所述BIOS序列号;所述用户计算机硬件信息按照预设的顺序组合成一个所述字符串;将组合的所述字符串进行反转,依次取出所述偶数项和所述奇数项再进行拼接获得最终的所述序列号;
判断本计算机的所述用户计算机序列号和所述目标应用软件加载读取的所述License文件内容是否一致,当内容一致时,校验通过;反之,校验不通过。
进一步地,所述目标应用软件对所述密钥文件校验算法如下:
确定所述密钥文件的所述加密密钥数值;所述目标应用软件加载读取所述密钥文件的所述字节数组每个元素与所述加密密钥数值进行异或运算即可解密出相应的所述到期时间限制、所述运行时间限制、所述设备数量限制和这三个所述目标应用软件权限是否启用状态值,还包括生成所述密钥文件时的所述计算机系统时间。
进一步地,所述目标应用软件对所述License文件和所述密钥文件双重验证后,当所述用户计算机序列号或者所述权限不匹配时,所述目标应用软件停止运行或者所述目标应用软件降级;当所述目标应用软件通过License文件和密钥文件验证成功后,所述目标应用软件正常运行。
与现有技术相比,本发明的有益效果是:
(1)本发明可以在离线的状态下对软件进行保护;在特定的计算机上运行,换台计算机再使用之前的License文件和密钥文件则无法运行;离线保护和基于硬件信息的序列号生成可以在没有网络连接的情况下对软件进行保护,而采用双重校验和多种权限设置的密钥文件可以提高破解软件的难度和成本。
(2)采用多种硬件信息和算法组合的方式来生成序列号,通过加密序列号,加大了License文件的破解难度;这样即使其中一个部分被破解,也不会对整个序列号的安全性产生太大的影响,从而有效地保护软件的授权许可。
(3)密钥文件中有多种对软件保护的设置权限,且密钥文件加密时的密钥数值是个随机值,故破解密钥文件的难度也会加大;采用License文件和密钥文件双重校验,将License文件和密钥文件的解析过程与目标应用软件分离开来,从而更加有效地保护授权信息不被黑客窃取或篡改。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍:
图1为本发明一种防软件盗版的软件授权许可系统操作的流程图;
图2为序列号生成软件生成用户计算机序列号的算法图;
图3为序列号生成软件生成用户计算机序列号的流程图;
图4为密钥软件生成License文件和密钥文件流程图;
图5为目标应用软件通过应用动态链接库函数接口的验证执行流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明。
实施例1
本发明提供了一种防软件盗版的软件授权许可系统,如图1所示,该系统由Qt工具开发,包括:序列号生成软件、密钥软件、应用动态链接库,具体操作步骤如下:
S1:序列号生成软件获取用户计算机硬件信息并且转换为用户计算机序列号,并将用户计算机序列号发送到软件开发商计算机上;
S2:软件开发商计算机收到用户计算机序列号后,通过密钥软件对用户计算机序列号进行加密,生成一个License文件;同时密钥软件根据需要设置目标应用软件的权限和加密密钥数值,通过相应的算法生成密钥文件;
S3:目标应用软件通过应用动态链接库提供的函数接口加载License文件并校验序列号是否一致;函数接口加载解析密钥文件,校验目标应用软件设置的权限;在License文件和密钥文件的双重验证下按照软件开发商设置的权限要求运行。
具体地,如图2、图3所示,序列号生成软件,具体步骤如下:
S11:通过WMIC命令获取获取用户计算机硬件信息,用户计算机硬件信息包括CPU序列号(cpuID)、操作系统所在的硬盘序列号(diskID)、主板序列号(boardID)和BIOS序列号(biosID);
S12:生成用户计算机序列号,将用户计算机硬件信息按照预设的顺序组合成一个字符串,记为beginStr;
S13:加密用户计算机序列号,将组合的字符串进行反转,记为revStr,从字符串revStr中依次选择出奇数项组成字符串记为oddStr,依次选择出偶数项组成字符串记为evenStr,最终的生成的序列号SerialNum是按顺序evenStr和oddStr拼接的字符串,用户计算机序列号采用一定的加密算法进行加密,以保证安全性。
具体地,License文件具体生成步骤如图4所示如下:
密钥软件输入用户计算机序列号,通过MD5算法处理用户计算机序列号生成字节数组,将字节数组以二进制形式写到文件中,生成License文件。
具体地,密钥文件,具体生成步骤如下:
加密的密钥数值取值范围1~255之间的任意一个值,软件开发商可以随机选取该值,假设该值记录为KeyValue。密钥软件上可以设置目标应用软件的权限有:到期时间限制、运行时间限制、设备数量限制,将目标应用软件权限参数、是否启用对应权限状态参数进行字符串拼接和当前生成密钥文件的计算机系统时间七个参数按照一定顺序进行字符串拼接,将拼接后的字符串转换为字节数组,记为Ai,其中i取值为0,1,2,3,…,N-1,N为字节数组的长度;将字节数组中Ai的每个元素与加密密钥数值进行异或运算得到新的字节数组Bi,即Bi=keyValue^Ai,其中i取值为0,1,2,3,…,N-1,N为字节数组的长度,进行异或后的字节数组Bi写入到文件中,生成密钥文件。
具体地,密钥软件设置的目标应用软件权限包括到期时间限制、运行时间限制、设备数量限制;
到期时间限制是设置软件保护的运行截止日期;
运行时间限制是设置软件运行后连续运行时间,单位为分钟;
设备数量限制是限制软件可操作设备数量或者限制软件的某些功能项的使用次数。
具体地,应用动态链接库是为目标应用软件提供解析License文件和密钥文件算法的函数接口。
具体地,目标应用软件对License文件校验算法步骤如下:
通过WMIC命令获取用户计算机硬件信息,用户计算机硬件信息包括CPU序列号(cpuID)、操作系统所在的硬盘序列号(diskID)、主板序列号(boardID)和BIOS序列号(biosID);用户计算机硬件信息按照预设的顺序组合成一个字符串;将组合的字符串进行反转,依次取出偶数项和奇数项再进行拼接获得最终的序列号;
判断本计算机的用户计算机序列号和目标应用软件加载读取的License文件内容是否一致,当内容一致时,校验通过;反之,校验不通过。
具体地,如图5所示,目标应用软件对密钥文件校验算法如下:
首先需得知加密秘钥文件的加密秘钥数;目标应用软件加载读取密钥文件的字节数组每个元素与加密密钥数值进行异或运算即可解密出相应的到期时间限制、运行时间限制、设备数量限制和这三个目标应用软件权限是否启用状态值,还包括生成密钥文件时的计算机系统时间。
如果设置到期时间限制被启用,则可以获得设定的加密日期参数定义为setDate和加密时系统日期定义为sysDate,在进行校验时,每次软件启动时,软件会读取客户系统日期定义为nowDate和setDate进行比较,如果nowDate大于等于setDate则软件到期。然而用户可以通过修改用户系统时间达到破解该软件的目的,为了解密该问题,每次软件启动就会判断当前系统时间定义为nowDateTime和上次软件启动的时间定义为lastDateTime进行比较,就可以避免该问题。
每次运行时,首先判断(nowDateTime>lastDateTime)且(nowDate>=sysDate),如果不成立则软件停止后续运行,如果成立则软件继续执行。然后计算出理论时间差diffDate=setDate–sysDate,如果时间差(nowDate-setDate)>=diffDate,则软件过期,软件停止后续运行。
如果设置运行时间限制被启用,假设运行时间设置为setTime,当密钥文件加载后,则启动动态链接库的定时器开始计时,当运行时间大于等于运行时间设置值setTime,则软件停止后续运行。
如果设置设备数量限制被启用,则可以限制软件可操作设备个数或软件可操作软件某功能的次数,每当软件调用该接口一次,则计数加1,当累加的计数大于等于设定的设备数据限制时,则软件停止后续运行。
具体地,目标应用软件对License文件和密钥文件双重验证后,当用户计算机序列号或者权限不匹配时,目标应用软件停止运行或者目标应用软件降级;当目标应用软件通过License文件和密钥文件验证成功后,目标应用软件正常运行。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。

Claims (10)

1.一种防软件盗版的软件授权许可系统,其特征在于,所述防软件盗版的软件授权许可系统由Qt工具开发,包括:序列号生成软件、密钥软件、应用动态链接库,具体操作步骤如下:
S1:所述序列号生成软件获取用户计算机硬件信息并且转换为用户计算机序列号,并将所述用户计算机序列号发送到软件开发商计算机上;
S2:所述软件开发商计算机收到所述用户计算机序列号后,通过所述密钥软件对所述用户计算机序列号进行加密,生成一个License文件;同时所述密钥软件根据需要设置目标应用软件的权限和加密密钥数值,通过相应的算法生成密钥文件;
S3:所述目标应用软件通过所述应用动态链接库提供的函数接口加载所述License文件并校验序列号是否一致;所述函数接口加载解析所述密钥文件,校验所述目标应用软件设置的权限;在所述License文件和所述密钥文件的双重验证下按照所述软件开发商设置的权限要求运行。
2.如权利要求1所述的防软件盗版的软件授权许可系统,其特征在于,所述序列号生成软件,具体步骤如下:
S11:通过WMIC命令获取获取所述用户计算机硬件信息,所述用户计算机硬件信息包括CPU序列号、操作系统所在的硬盘序列号、主板序列号和BIOS序列号;
S12:生成所述用户计算机序列号,将所述用户计算机硬件信息按照预设的顺序组合成一个字符串;
S13:加密所述用户计算机序列号,将组合的所述字符串进行反转,依次取出偶数项和奇数项再进行拼接获得最终的所述序列号。
3.如权利要求2所述的防软件盗版的软件授权许可系统,其特征在于,所述License文件,具体生成步骤如下:
所述密钥软件输入所述用户计算机序列号,通过MD5算法处理所述用户计算机序列号生成字节数组,将所述字节数组以二进制形式写到所述文件中,生成所述License文件。
4.如权利要求3所述的防软件盗版的软件授权许可系统,其特征在于,所述密钥文件,具体生成步骤如下:
将所述目标应用软件权限参数和是否启用对应权限状态参数进行字符串拼接,同时将当前生成所述密钥文件的计算机系统时间加入到字符串拼接中;将拼接后的所述字符串转换为所述字节数组;将所述字节数组中的每个元素与所述加密密钥数值进行异或运算,进行异或后的所述字节数组写入到文件中,生成密钥文件。
5.如权利要求4所述的防软件盗版的软件授权许可系统,其特征在于,所述密钥软件设置的所述目标应用软件权限包括到期时间限制、运行时间限制、设备数量限制;
所述到期时间限制是设置软件保护的运行截止日期;
所述运行时间限制是设置软件运行后连续运行时间,单位为分钟;
所述设备数量限制是限制软件可操作设备数量或者限制软件的某些功能项的使用次数。
6.如权利要求4所述的防软件盗版的软件授权许可系统,其特征在于,所述加密密钥数值一个自然数N,且1≤N≤255。
7.如权利要求5所述的防软件盗版的软件授权许可系统,其特征在于,所述应用动态链接库是为所述目标应用软件提供解析所述License文件和所述密钥文件算法的函数接口。
8.如权利要求7所述的防软件盗版的软件授权许可系统,其特征在于,所述目标应用软件对所述License文件校验算法步骤如下:
通过所述WMIC命令获取所述用户计算机硬件信息,所述用户计算机硬件信息包括所述CPU序列号、所述操作系统所在的硬盘序列号、所述主板序列号和所述BIOS序列号;所述用户计算机硬件信息按照预设的顺序组合成一个所述字符串;将组合的所述字符串进行反转,依次取出所述偶数项和所述奇数项再进行拼接获得最终的所述序列号;
判断本计算机的所述用户计算机序列号和所述目标应用软件加载读取的所述License文件内容是否一致,当内容一致时,校验通过;反之,校验不通过。
9.如权利要求7所述的防软件盗版的软件授权许可系统,其特征在于,所述目标应用软件对所述密钥文件校验算法如下:
确定所述密钥文件的所述加密密钥数值;所述目标应用软件加载读取所述密钥文件的所述字节数组每个元素与所述加密密钥数值进行异或运算即可解密出相应的所述到期时间限制、所述运行时间限制、所述设备数量限制和这三个所述目标应用软件权限是否启用状态值,还包括生成所述密钥文件时的所述计算机系统时间。
10.如权利要求9所述的防软件盗版的软件授权许可系统,其特征在于,所述目标应用软件对所述License文件和所述密钥文件双重验证后,当所述用户计算机序列号或者所述权限不匹配时,所述目标应用软件停止运行或者所述目标应用软件降级;当所述目标应用软件通过License文件和密钥文件验证成功后,所述目标应用软件正常运行。
CN202310311226.2A 2023-03-28 2023-03-28 一种防软件盗版的软件授权许可系统 Pending CN116383779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310311226.2A CN116383779A (zh) 2023-03-28 2023-03-28 一种防软件盗版的软件授权许可系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310311226.2A CN116383779A (zh) 2023-03-28 2023-03-28 一种防软件盗版的软件授权许可系统

Publications (1)

Publication Number Publication Date
CN116383779A true CN116383779A (zh) 2023-07-04

Family

ID=86965027

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310311226.2A Pending CN116383779A (zh) 2023-03-28 2023-03-28 一种防软件盗版的软件授权许可系统

Country Status (1)

Country Link
CN (1) CN116383779A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472035A (zh) * 2023-12-27 2024-01-30 东方电气风电股份有限公司 一种主控系统软件硬件的校验方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472035A (zh) * 2023-12-27 2024-01-30 东方电气风电股份有限公司 一种主控系统软件硬件的校验方法
CN117472035B (zh) * 2023-12-27 2024-03-08 东方电气风电股份有限公司 一种主控系统软件硬件的校验方法

Similar Documents

Publication Publication Date Title
CN112074836B (zh) 通过可信执行环境保护数据的设备和方法
US7779478B2 (en) System and method for distributed module authentication
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
AU2009233685B2 (en) Method and apparatus for incremental code signing
US7707429B2 (en) System and method to proactively detect software tampering
US7475254B2 (en) Method for authenticating software using protected master key
US6976167B2 (en) Cryptography-based tamper-resistant software design mechanism
US20030191940A1 (en) Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
US8769675B2 (en) Clock roll forward detection
JP6072091B2 (ja) アプリケーション・プログラム用の安全なアクセス方法および安全なアクセス装置
CN1610886A (zh) 用于验证的系统和方法
US20160055331A1 (en) Detecting exploits against software applications
CN112395631B (zh) 基于sgx技术的安全数据库系统、方法及介质
US7080249B1 (en) Code integrity verification that includes one or more cycles
US9122864B2 (en) Method and apparatus for transitive program verification
CN116383779A (zh) 一种防软件盗版的软件授权许可系统
US11574046B2 (en) Protecting a software program against tampering
CN103970540A (zh) 关键函数安全调用方法及装置
CN110245464B (zh) 保护文件的方法和装置
US8490208B2 (en) Method and device for detecting if a computer file has been copied and method and device for enabling such detection
CN111611551A (zh) 一种基于国密算法的动态链接库保护方法及其系统
KR101405915B1 (ko) 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
US9122878B1 (en) Software license management with drifting component
CN114070548A (zh) 一种基于软加密狗装置的软件版权加密保护方法
CN114817956A (zh) 一种usb通信对象验证方法、系统、装置及存储介质

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