CN110609789A - 一种用于软件License校验的方法和系统 - Google Patents

一种用于软件License校验的方法和系统 Download PDF

Info

Publication number
CN110609789A
CN110609789A CN201910809051.1A CN201910809051A CN110609789A CN 110609789 A CN110609789 A CN 110609789A CN 201910809051 A CN201910809051 A CN 201910809051A CN 110609789 A CN110609789 A CN 110609789A
Authority
CN
China
Prior art keywords
file
software
license
core
check
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
CN201910809051.1A
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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201910809051.1A priority Critical patent/CN110609789A/zh
Publication of CN110609789A publication Critical patent/CN110609789A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Abstract

本发明公开了一种用于软件License校验的方法和系统,涉及计算机软件领域,该方法包括获取正版软件的核心文件和License文件;将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;在预设的触发机制下,获取软件的核心文件和License文件;将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。本发明能够有效保护开发者的合法效益。

Description

一种用于软件License校验的方法和系统
技术领域
本发明涉及计算机软件领域,具体涉及一种用于软件License校验的方法和系统。
背景技术
在目前的软件行业中,对正版软件进行破解的现象极为常见,严重侵害了软件开发者的经济权益,对知识产权保护极为不利。非法破解者对于软件的破解,常见的做法是,通过汇编、反汇编方式,读取并篡改软件的核心文件(核心文件为软件中的可执行文件)中的一段二进制序列,生成一个新的可执行文件,即破解补丁,非法使用者在安装完正版软件后,使用破解文件替换原有的文件,便可跳过或通过License(版权许可证)的验证,免费使用正版软件,从而严重侵害软件开发者的合法权益,针对此类破解方法,当前并没有较好的检测方法。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种用于软件License校验的方法和系统,能够有效保护开发者的合法效益。
为达到以上目的,本发明提供的一种用于软件License校验的方法,包括以下步骤:
获取正版软件的核心文件和License文件;
将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;
在预设的触发机制下,获取软件的核心文件和License文件;
将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。
在上述技术方案的基础上,所述获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
在上述技术方案的基础上,所述将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件,具体步骤包括:
将获取的正版软件核心文件的内容转化为二进制数组;
将获取的正版软件License文件的内容转化为二进制数组;
分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出;
核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。
在上述技术方案的基础上,
所述在预设的触发机制下,获取软件的核心文件和License文件,具体步骤包括:
当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容;
所述将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体步骤包括:
S401:判断软件中的校验文件是否存在,若否,转至S404,若是,转至S402;
S402:比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则转至S403,反之,转至S404;
S403:不做处理。
S404:终止当前软件的运行。
在上述技术方案的基础上,当终止当前软件的运行之后,还包括:
S4041:将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致,若是,则转至S4042,反之,则转至S4043;
S4042:继续终止当前软件的运行;
S4043:将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与软件License文件对应处进行替换,然后继续启动并运行当前软件。
本发明提供的一种用于软件License校验的系统,包括:
第一获取模块,其用于获取正版软件的核心文件和License文件;
转化模块,其用于将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;
第二获取模块,其用于在预设的触发机制下,获取软件的核心文件和License文件;
比对模块,其用于将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。
在上述技术方案的基础上,所述第一获取模块获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
在上述技术方案的基础上,所述转化模块将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件,具体过程包括:
将获取的正版软件核心文件的内容转化为二进制数组;
将获取的正版软件License文件的内容转化为二进制数组;
分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出;
核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。
在上述技术方案的基础上,
所述第二获取模块在预设的触发机制下,获取软件的核心文件和License文件,具体过程包括:
当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容;
所述比对模块将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体过程包括:
判断软件中的校验文件是否存在:
若否,终止当前软件的运行;
若是,比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则不做处理,反之,终止当前软件的运行。
在上述技术方案的基础上,当终止当前软件的运行之后,还包括:
将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致:
若是,则继续终止当前软件的运行;
若否,则将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与运行中软件License文件对应处进行替换,然后继续启动并运行当前软件。
与现有技术相比,本发明的优点在于:通过获取正版软件的核心文件和License文件,构成校验文件,当软件启动时,将运行中软件的核心文件和License文件与校验文件中的核心文件和License文件进行比对,以此来判断软件是否被篡改,有效保护开发者的合法效益。
附图说明
图1为本发明实施例中一种用于软件License校验的方法的流程图;
图2为本发明实施例中校验文件格式的示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例一种用于软件License校验的方法,针对软件中已被篡改的核心文件和License文件,进行校验,判断软件是否被篡改,保护开发者的合法效益。本发明实施例还相应地提供了一种用于软件License校验的系统。
参见图1所示,本发明实施例提供的一种用于软件License校验的方法,包括以下步骤:
S1:获取正版软件的核心文件和License文件。
本发明实施例中的核心文件是指软件的可执行文件,可执行文件指可以由操作系统进行加载并执行的文件,例如后缀为exe的文件,当然,核心文件也可以由软件开发者根据开发经验以及软件中经常被不法分子篡改的文件,指定软件中的某些可执行文件为核心文件。
获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC(Cyclic Redundancy Check,循环冗余校验)校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
为进一步保证所获取的软件核心文件和License文件的准确性,可以在软件开发完成待发行时,获取此时软件中的核心文件和License文件,因此此时的软件必然是正版软件,未被不法分子篡改。
S2:将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件。该步骤具体包括:
S201:将获取的正版软件核心文件的内容转化为二进制数组,例如byte[]A;
S202:将获取的正版软件License文件的内容转化为二进制数组,例如byte[]B。通过将核心文件和License文件的内容转化为二进制数组,方便后续使用反汇编方式对核心文件和License文件的内容进行分析,从而快速确定核心文件和License文件内容中易被篡改的片段。
S203:分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出。例如,可以基于反汇编方式,来分析确定核心文件和License文件内容中易被篡改的片段,对于反汇编操作,可以使用ollydbg工具来模拟进行。
S204:核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。
校验文件的内容格式可参见图2所示,其中文件A相对路径指核心文件在软件包目录中的相对路径,文件A大小指核心文件的大小,文件A特征片段区间真实位置为核心文件二进制数组中截取出的片段在软件中的位置,文件A二进制数据区间byte[n]-byte[m]数据为核心文件二进制数组中截取出的片段的内容,文件B相对路径指License文件在软件中的路径,文件B大小指License文件的大小,文件B特征片段区间真实位置为License文件二进制数组中截取出的片段在软件中的位置,文件B二进制数据区间byte[n]-byte[m]数据为License文件二进制数组中截取出的片段的内容。
对于校验文件的名字,可以采用迷惑性的命名方式,使其名称较为平常,与校验、License、防篡改等无关,例如可以命名为skin.dat,看起来为与软件皮肤相关的文件,但其实质是校验文件。
S3:在预设的触发机制下,获取软件的核心文件和License文件。当软件启动时,则说明当前软件为已经发行的软件,在客户端中进行运行,因此可能存在被不法分子篡改的可能,故需要对此时运行的软件进行检测校验。在预设的触发机制下,获取软件的核心文件和License文件,具体步骤包括:当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容。预设的触发机制为检测到软件启动。
S4:将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则,说明当前软件已被篡改,故终止当前软件的运行,若一致,则不做处理,继续运行软件。
本发明实施例的用于软件License校验的方法,通过获取正版软件的核心文件和License文件,构成校验文件,当软件启动时,将运行中软件的核心文件和License文件与校验文件中的核心文件和License文件进行比对,以此来判断软件是否被篡改,有效保护开发者的合法效益。
可选地,在上述图1对应实施例的基础上,本发明实施例提供的一种用于软件License校验的方法的第一个可选实施例中,将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体步骤包括:
S401:判断软件中的校验文件是否存在,若否,转至S404,若是,转至S402;
S402:比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则转至S403,反之,转至S404。
S403:不做处理。
S404:终止当前软件的运行。核心文件的大小和CRC校验码均与原始的不一致,说明当前软件的文件内容已经与软件的原始内容不一致,故需要暂停当前软件的运行,避免继续运行而发生不可预知的问题,进而损害开发者的合法权利。
可选地,在上述一种用于软件License校验的方法第一个可选实施例的基础上,本发明实施例提供的一种用于软件License校验的方法的第二个可选实施例中,当终止当前软件的运行之后,还包括:
S4041:将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致,若是,则转至S4042,反之,则转至S4043;
S4042:继续终止当前软件的运行;校验文件中的核心文件二进制数组片段与获取的运行中软件的核心文件对应处一致,校验文件中的License文件二进制数组片段与获取的运行中软件License文件对应处一致,说明当前软件可能未被篡改,只是软件发生了损毁,但为了保证软件功能的正常使用,还是终止当前软件的运行。
S4043:将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与软件License文件对应处进行替换,然后继续启动并运行当前软件,即对软件被篡改的部分进行还原,然后继续启动并运行软件。
本发明实施例提供的一种用于软件License校验的系统,包括:
第一获取模块,其用于获取正版软件的核心文件和License文件;
转化模块,其用于将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;
第二获取模块,其用于在预设的触发机制下,获取运行中软件的核心文件和License文件;
比对模块,其用于将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。
第一获取模块获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
转化模块将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件,具体过程包括:
将获取的正版软件核心文件的内容转化为二进制数组;
将获取的正版软件License文件的内容转化为二进制数组;
分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出;
核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。第二获取模块在预设的触发机制下,获取软件的核心文件和License文件,具体过程包括:
当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容;
比对模块将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体过程包括:
判断软件中的校验文件是否存在:
若否,终止当前软件的运行;
若是,比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则不做处理,反之,终止当前软件的运行。
当终止当前软件的运行之后,还包括:
将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致:
若是,则继续终止当前软件的运行;
若否,则将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与软件License文件对应处进行替换,然后继续启动并运行当前软件。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种用于软件License校验的方法,其特征在于,包括以下步骤:
获取正版软件的核心文件和License文件;
将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;
在预设的触发机制下,获取软件的核心文件和License文件;
将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。
2.如权利要求1所述的一种用于软件License校验的方法,其特征在于,所述获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
3.如权利要求2所述的一种用于软件License校验的方法,其特征在于,所述将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件,具体步骤包括:
将获取的正版软件核心文件的内容转化为二进制数组;
将获取的正版软件License文件的内容转化为二进制数组;
分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出;
核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。
4.如权利要求3所述的一种用于软件License校验的方法,其特征在于,
所述在预设的触发机制下,获取软件的核心文件和License文件,具体步骤包括:
当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容;
所述将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体步骤包括:
S401:判断软件中的校验文件是否存在,若否,转至S404,若是,转至S402;
S402:比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则转至S403,反之,转至S404;
S403:不做处理。
S404:终止当前软件的运行。
5.如权利要求4所述的一种用于软件License校验的方法,其特征在于,当终止当前软件的运行之后,还包括:
S4041:将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致,若是,则转至S4042,反之,则转至S4043;
S4042:继续终止当前软件的运行;
S4043:将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与软件License文件对应处进行替换,然后继续启动并运行当前软件。
6.一种用于软件License校验的系统,其特征在于,包括:
第一获取模块,其用于获取正版软件的核心文件和License文件;
转化模块,其用于将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件;
第二获取模块,其用于在预设的触发机制下,获取软件的核心文件和License文件;
比对模块,其用于将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则终止当前软件的运行,若一致,则不做处理。
7.如权利要求6所述的一种用于软件License校验的系统,其特征在于,所述第一获取模块获取正版软件的核心文件和License文件,具体为:获取正版软件核心文件的内容和正版软件License文件的内容,并基于正版软件核心文件的内容,得到正版软件核心文件的大小和正版软件核心文件的CRC校验码,基于正版软件License文件的内容,得到正版软件License文件的大小和正版软件License文件的CRC校验码。
8.如权利要求7所述的一种用于软件License校验的系统,其特征在于,所述转化模块将获取的正版软件的核心文件和License文件转化为二进制形式的数组,构成检验文件,具体过程包括:
将获取的正版软件核心文件的内容转化为二进制数组;
将获取的正版软件License文件的内容转化为二进制数组;
分析确定核心文件和License文件内容中易被篡改的片段,并将核心文件的二进制数组中对应的片段截取出,将License文件的二进制数组中对应的片段截取出;
核心文件二进制数组中截取出的片段、License文件二进制数组中截取出的片段、正版软件核心文件的大小、正版软件核心文件的CRC校验码、License文件的大小以及License文件的CRC校验码,进行合并生成一个二进制文件,即为检验文件,并将所述校验文件存放于软件中。
9.如权利要求8所述的一种用于软件License校验的系统,其特征在于:
所述第二获取模块在预设的触发机制下,获取软件的核心文件和License文件,具体过程包括:
当检测到软件启动时,获取软件核心文件的内容,以及软件License文件的内容;
所述比对模块将获取的软件的核心文件和License文件,与校验文件中的核心文件和License文件进行比对,若不一致,则结束当前软件的运行,若一致,则不做处理,具体过程包括:
判断软件中的校验文件是否存在:
若否,终止当前软件的运行;
若是,比对软件的核心文件的大小与校验文件中核心文件的大小是否一致、比对软件的核心文件的CRC校验码与校验文件中核心文件的CRC校验码是否一致,若均一致,则不做处理,反之,终止当前软件的运行。
10.如权利要求9所述的一种用于软件License校验的系统,其特征在于,当终止当前软件的运行之后,还包括:
将校验文件中的核心文件二进制数组片段与获取的软件的核心文件对应处进行比对,校验文件中的License文件二进制数组片段与获取的软件License文件对应处进行比对,判断是否均一致:
若是,则继续终止当前软件的运行;
若否,则将校验文件中的核心文件二进制数组片段与软件的核心文件对应处进行替换,校验文件中的License文件二进制数组片段与运行中软件License文件对应处进行替换,然后继续启动并运行当前软件。
CN201910809051.1A 2019-08-29 2019-08-29 一种用于软件License校验的方法和系统 Pending CN110609789A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910809051.1A CN110609789A (zh) 2019-08-29 2019-08-29 一种用于软件License校验的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910809051.1A CN110609789A (zh) 2019-08-29 2019-08-29 一种用于软件License校验的方法和系统

Publications (1)

Publication Number Publication Date
CN110609789A true CN110609789A (zh) 2019-12-24

Family

ID=68890671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910809051.1A Pending CN110609789A (zh) 2019-08-29 2019-08-29 一种用于软件License校验的方法和系统

Country Status (1)

Country Link
CN (1) CN110609789A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639880A (zh) * 2008-07-31 2010-02-03 华为技术有限公司 一种文件检测方法和装置
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN103761456A (zh) * 2013-10-12 2014-04-30 利尔达科技集团股份有限公司 一种单片机核心代码防破解的方法
CN105426708A (zh) * 2016-01-19 2016-03-23 北京鼎源科技有限公司 一种Android系统的应用程序的加固方法
CN106055602A (zh) * 2016-05-24 2016-10-26 腾讯科技(深圳)有限公司 文件验证方法及装置
CN106096381A (zh) * 2016-06-06 2016-11-09 北京壹人壹本信息科技有限公司 应用程序文件验证的方法及系统
CN106469259A (zh) * 2015-08-19 2017-03-01 北京金山安全软件有限公司 确定应用程序是否为正版应用程序的方法、装置及电子设备
CN109409034A (zh) * 2018-09-17 2019-03-01 东软集团股份有限公司 应用程序的验证方法、平台、终端、系统、介质和设备
CN109635567A (zh) * 2019-01-29 2019-04-16 腾讯科技(深圳)有限公司 针对应用客户端的校验方法、装置及服务器平台
CN110096849A (zh) * 2019-04-02 2019-08-06 深圳市中博科创信息技术有限公司 一种License授权认证方法、装置、设备及可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639880A (zh) * 2008-07-31 2010-02-03 华为技术有限公司 一种文件检测方法和装置
CN103065072A (zh) * 2011-10-21 2013-04-24 北京大学 提高Java软件破解难度的方法及装置、版权验证方法
CN103761456A (zh) * 2013-10-12 2014-04-30 利尔达科技集团股份有限公司 一种单片机核心代码防破解的方法
CN106469259A (zh) * 2015-08-19 2017-03-01 北京金山安全软件有限公司 确定应用程序是否为正版应用程序的方法、装置及电子设备
CN105426708A (zh) * 2016-01-19 2016-03-23 北京鼎源科技有限公司 一种Android系统的应用程序的加固方法
CN106055602A (zh) * 2016-05-24 2016-10-26 腾讯科技(深圳)有限公司 文件验证方法及装置
CN106096381A (zh) * 2016-06-06 2016-11-09 北京壹人壹本信息科技有限公司 应用程序文件验证的方法及系统
CN109409034A (zh) * 2018-09-17 2019-03-01 东软集团股份有限公司 应用程序的验证方法、平台、终端、系统、介质和设备
CN109635567A (zh) * 2019-01-29 2019-04-16 腾讯科技(深圳)有限公司 针对应用客户端的校验方法、装置及服务器平台
CN110096849A (zh) * 2019-04-02 2019-08-06 深圳市中博科创信息技术有限公司 一种License授权认证方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
EP2460076B1 (en) Portable executable file analysis
CN104517054B (zh) 一种检测恶意apk的方法、装置、客户端和服务器
US20090271867A1 (en) Virtual machine to detect malicious code
JP4732484B2 (ja) 仮想環境を利用した非実行ファイル内のエクスプロイトコード分析方法及び装置
KR20130122747A (ko) 손상된 소프트웨어의 치료
US9038057B2 (en) Method for replacing an illegitimate copy of a software program with a legitimate copy and corresponding system
CN105512521A (zh) 一种软件安装包的加固保护方法和系统
TW201721497A (zh) 用以檢測運作時期所產生碼中之惡意碼的系統及方法
JP6000465B2 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
US11269988B2 (en) Automated software application verification system
CN106874758B (zh) 一种识别文档代码的方法和装置
US20140325659A1 (en) Malware risk scanner
CN112115473A (zh) 一种用于Java开源组件安全检测的方法
CN103902908A (zh) 一种对Android加固应用的恶意代码检测方法及系统
CN114417335A (zh) 一种恶意文件检测方法、装置、电子设备及存储介质
CN106960138B (zh) 虚拟机指令的校验方法及装置、系统
CN109214179B (zh) 一种程序模块安全检测方法及装置
CN106407815B (zh) 漏洞检测方法及装置
CN111027072B (zh) Linux下基于elf二进制标准解析的内核Rootkit检测方法及装置
CN108959915B (zh) 一种rootkit检测方法、装置及服务器
CN110609789A (zh) 一种用于软件License校验的方法和系统
CN104680043A (zh) 一种可执行文件的保护方法及装置
KR101600178B1 (ko) 불법 복제 애플리케이션 탐지 방법 및 장치
CN107330327B (zh) 感染文件检测方法、服务器、处理方法、装置和检测系统
EP3739484B1 (en) Method and system for detection of post compilation modification of binary images

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191224

RJ01 Rejection of invention patent application after publication