首页 / 专利库 / 软件 / 补丁 / 热补丁 / 校验热补丁或者动态库的方法及装置

校验热补丁或者动态库的方法及装置

阅读:241发布:2020-05-08

专利汇可以提供校验热补丁或者动态库的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种校验热 补丁 或者动态库的方法及装置,涉及信息技术领域,可以降低校验 热补丁 文件或者动态库文件的时延,进而可以提升用户体验。所述方法包括:首先获取目标程序符号文件的代码段,其次根据目标程序符号文件的代码段,计算第一校验值,其中,第一校验值为目标程序对应的校验值,然后加载第一文件,并获取第二校验值,其中,第一文件为热补丁文件或者动态库文件,第二校验值为热补丁文件或者动态库文件的校验值,最后判断第一校验值与第二校验值是否相同,若第一校验值与第二校验值相同,则运行热补丁文件或者动态库文件。本发明适用于在加载热补丁文件或者动态库文件之前,校验热补丁文件或者动态库文件的安全性。,下面是校验热补丁或者动态库的方法及装置专利的具体信息内容。

1.一种校验热补丁或者动态库的方法,其特征在于,包括:
在目标程序代码中添加第一全局变量;
根据所述目标程序代码生成所述目标程序的符号文件,所述目标程序的符号文件中携带有所述第一全局变量;
获取目标程序符号文件的代码段;
根据所述目标程序符号文件的代码段,计算第一校验值,所述第一校验值为所述目标程序对应的校验值;
在所述目标程序的符号文件中查找所述第一全局变量,并将所述第一校验值,赋值至所述第一全局变量;
加载第一文件,并获取第二校验值,所述第一文件为热补丁文件或者动态库文件,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值;
判断所述第一校验值与所述第二校验值是否相同;
若所述第一校验值与所述第二校验值相同,则运行所述热补丁文件或者所述动态库文件。
2.根据权利要求1所述的校验热补丁或者动态库的方法,其特征在于,所述判断所述第一校验值与所述第二校验值是否相同的步骤,之后还包括:
若所述第一校验值与所述第二校验值不相同,则不运行所述热补丁文件或者所述动态库文件。
3.根据权利要求2所述的校验热补丁或者动态库的方法,其特征在于,
所述根据所述目标程序的符号文件的代码段,计算第一校验值的步骤,具体包括:
根据所述目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到所述第一校验值。
4.根据权利要求1-3任一项所述的校验热补丁或者动态库的方法,其特征在于,当所述第一文件为热补丁文件时,
所述加载第一文件,并获取第二校验值的步骤之前,还包括:
获取所述目标程序的符号文件的代码段;
根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值,并将所述第二校验值赋值至第二全局变量,所述第二全局变量为所述热补丁文件的全局变量。
5.根据权利要求1-3任一项所述的校验热补丁或者动态库的方法,其特征在于,当所述第一文件为动态库文件时,
所述加载第一文件,并获取第二校验值的步骤之前,还包括:
在所述动态库文件中添加一个目标文件,所述目标文件中携带有第三全局变量;
根据所有的目标文件,生成动态库的符号文件;
获取所述目标程序的符号文件的代码段;
根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值,并将所述第二校验值赋值至第三全局变量。
6.一种校验热补丁或者动态库的装置,其特征在于,包括:
添加单元,用于在目标程序代码中添加第一全局变量;
生成单元,用于根据所述目标程序代码生成所述目标程序的符号文件,所述目标程序的符号文件中携带有所述第一全局变量;
获取单元,用于获取目标程序符号文件的代码段;
计算单元,用于根据所述目标程序符号文件的代码段,计算第一校验值,所述第一校验值为所述目标程序对应的校验值;
查找单元,用于在所述目标程序的符号文件中查找所述第一全局变量;
赋值单元,用于将所述第一校验值,赋值至所述第一全局变量;
加载单元,用于加载第一文件,所述第一文件为热补丁文件或者动态库文件;
所述获取单元,还用于获取第二校验值,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值;
判断单元,用于判断所述第一校验值与所述第二校验值是否相同;
运行单元,用于当所述第一校验值与所述第二校验值相同时,运行所述热补丁文件或者所述动态库文件。
7.根据权利要求6所述的校验热补丁或者动态库的装置,其特征在于,
所述运行单元,还用于当所述第一校验值与所述第二校验值不相同时,不运行所述热补丁文件或者所述动态库文件。
8.根据权利要求7所述的校验热补丁或者动态库的装置,其特征在于,所述计算单元,具体用于根据所述目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到所述第一校验值。
9.根据权利要求6-8任一项所述的校验热补丁或者动态库的装置,其特征在于,当所述第一文件为热补丁文件时,
所述获取单元,还用于获取所述目标程序的符号文件的代码段;
所述计算单元,还用于根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;
所述赋值单元,还用于将所述第二校验值赋值至第二全局变量,所述第二全局变量为所述热补丁文件的全局变量。
10.根据权利要求6-8任一项所述的校验热补丁或者动态库的装置,其特征在于,当所述第一文件为动态库文件时,
所述添加单元,还用于在所述动态库文件中添加一个目标文件,所述目标文件中携带有第三全局变量;
所述生成单元,还用于根据所有的目标文件,生成动态库的符号文件;
所述获取单元,还用于获取所述目标程序的符号文件的代码段;
所述计算单元,还用于根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;
所述赋值单元,还用于将所述第二校验值赋值至第三全局变量。

说明书全文

校验热补丁或者动态库的方法及装置

技术领域

[0001] 本发明涉及信息技术领域,特别涉及一种校验热补丁或者动态库的方法及装置。

背景技术

[0002] 应用程序在运行的过程中时常出现问题,当应用程序在运行的过程中出现问题时,程序人员通常需要将热补丁文件或者动态库文件导入至出现问题的目标程序,以使得跳转至热补丁文件或者动态库文件中的新目标函数的指令位置运行,然而在将热补丁文件或者动态库文件导入到目标程序时,目标程序需要对热补丁文件或者动态库文件进行校验,以确定该热补丁文件以及动态库文件的安全性。
[0003] 目前,一种校验热补丁文件或者动态库文件的方法,目标程序首先解析将导入的热补丁文件或者动态库文件,获取热补丁文件或者动态库文件中携带的代码段的校验值,然后计算自身的代码段对应的循环冗余码(英文全称:Cyclic Redundancy Code,英文缩写:CRC)校验值,最后判断自身代码段对应的CRC校验值与热补丁文件或者动态库文件中携带的校验值是否相同,若相同,则将该热补丁文件或者动态库文件导入其中。
[0004] 然而,当目标程序在加载热补丁文件或者动态库文件时,校验热补丁文件或者动态库文件,由于当目标程序在加载热补丁文件或者动态库文件时,需要计算自身的CRC校验值,并且计算目标程序代码段的CRC校验值需要较长的时间,从而导致校验热补丁文件或者动态库文件的时延较长,进而导致用户的体验度较低。

发明内容

[0005] 本发明提供一种检验热补丁或者动态库的方法及装置,可以降低检验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度。
[0006] 第一方面,本发明实施例提供了一种校验热补丁或者动态库的方法,包括:
[0007] 获取目标程序符号文件的代码段;
[0008] 根据所述目标程序符号文件的代码段,计算第一校验值,所述第一校验值为所述目标程序对应的校验值;
[0009] 加载第一文件,并获取第二校验值,所述第一文件为热补丁文件或者动态库文件,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值;
[0010] 判断所述第一校验值与所述第二校验值是否相同;
[0011] 若所述第一校验值与所述第二校验值相同,则运行所述热补丁文件或者所述动态库文件。
[0012] 结合第一方面,在第一方面的第一种可能的实现方式中,
[0013] 所述获取目标程序符号文件的代码段的步骤,之前还包括:
[0014] 在所述目标程序代码中添加第一全局变量;
[0015] 根据所述目标程序代码生成所述目标程序的符号文件,所述目标程序的符号文件中携带有所述第一全局变量;
[0016] 所述根据所述目标程序的符号文件的代码段,计算第一校验值的步骤,具体包括:
[0017] 根据所述目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到所述第一校验值。
[0018] 第一方面的第一种可能的实现方式,通过将目标程序的符号文件的代码段,进行MD5计算,能够得到第一校验值,由于MD5计算比CRC计算的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性。
[0019] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
[0020] 所述根据所述目标程序符号文件的代码段,计算第一校验值的步骤,之后还包括:
[0021] 在所述目标程序的符号文件中查找所述第一全局变量,并将所述第一校验值,赋值至所述第一全局变量。
[0022] 第一方面的第二种可能的实现方式,通过将第一校验值赋值至第一全局变量,能够替换之前的校验值,由于之前的校验值是人工赋值的,而第一校验值是电子设备计算得到的,不需要人工干预,因此第一校验值的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性。
[0023] 结合第一方面、第一方面的第一种可能的实现方式、或者第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
[0024] 当所述第一文件为热补丁文件时,
[0025] 所述加载第一文件,并获取第二校验值的步骤之前,还包括:
[0026] 获取所述目标程序的符号文件的代码段;
[0027] 根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值,并将所述第二校验值赋值至第二全局变量,所述第二全局变量为所述热补丁文件的全局变量。
[0028] 第一方面的第三种可能的实现方式,通过电子设备在加载热补丁文件之前,将目标文件的代码段进行MD5计算,能够将生成的校验值赋值至热补丁文件的全局变量中,即不需要人工干预,能够在编译阶段确定热补丁文件的MD5校验值,并将该MD5校验值赋值至热补丁文件中的全局变量,由于将热补丁的校验计算不在加载阶段中进行,并且不需要人工干预以及MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验热补丁文件的时延,进而可以提升校验热补丁文件的安全性。
[0029] 结合第一方面、第一方面的第一种可能的实现方式、或者第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,
[0030] 当所述第一文件为动态库文件时,
[0031] 所述加载第一文件,并获取第二校验值的步骤之前,还包括:
[0032] 在所述动态库文件中添加一个目标文件,所述目标文件中携带有第三全局变量;
[0033] 根据所有的目标文件,生成动态库的符号文件;
[0034] 获取所述目标程序的符号文件的代码段;
[0035] 根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值,并将所述第二校验值赋值至第三全局变量。
[0036] 第一方面的第四种可能的实现方式,通过在加载动态库文件之前,将目标程序的符号文件的代码段进行MD5计算,并将计算得到的MD5校验值赋值至动态库文件的全局变量,并且不需要人工干预,编译工具自动实现上述步骤,由于不需要在加载动态库文件的过程中进行上述步骤,又由于不需要人工干预并且MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验动态库文件的时延,进而可以提升校验动态库文件的安全性。
[0037] 第二方面,本发明实施例提供了一种校验热补丁或者动态库的装置,包括:
[0038] 获取单元,用于获取目标程序符号文件的代码段;
[0039] 计算单元,用于根据所述目标程序符号文件的代码段,计算第一校验值,所述第一校验值为所述目标程序对应的校验值;
[0040] 加载单元,用于加载第一文件,所述第一文件为热补丁文件或者动态库文件;
[0041] 所述获取单元,还用于获取第二校验值,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值;
[0042] 判断单元,用于判断所述第一校验值与所述第二校验值是否相同;
[0043] 运行单元,用于当所述第一校验值与所述第二校验值相同时,运行所述热补丁文件或者所述动态库文件。
[0044] 结合第二方面,在第二方面的第一种可能的实现方式中,
[0045] 所述装置还包括:添加单元、生成单元;
[0046] 所述添加单元,用于在所述目标程序代码中添加第一全局变量;
[0047] 所述生成单元,用于根据所述目标程序代码生成所述目标程序的符号文件,所述目标程序的符号文件中携带有所述第一全局变量;
[0048] 所述计算单元,具体用于根据所述目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到所述第一校验值。
[0049] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
[0050] 所述装置还包括:查找单元、赋值单元;
[0051] 所述查找单元,用于在所述目标程序的符号文件中查找所述第一全局变量;
[0052] 所述赋值单元,用于将所述第一校验值,赋值至所述第一全局变量。
[0053] 结合第二方面、第二方面的第一种可能的实现方式、或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,
[0054] 当所述第一文件为热补丁文件时,
[0055] 所述获取单元,还用于获取所述目标程序的符号文件的代码段;
[0056] 所述计算单元,还用于根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;
[0057] 所述赋值单元,还用于将所述第二校验值赋值至第二全局变量,所述第二全局变量为所述热补丁文件的全局变量。
[0058] 结合第二方面、第二方面的第一种可能的实现方式、或者第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,
[0059] 当所述第一文件为动态库文件时,
[0060] 所述添加单元,还用于在所述动态库文件中添加一个目标文件,所述目标文件中携带有第三全局变量;
[0061] 所述生成单元,还用于根据所有的目标文件,生成动态库的符号文件;
[0062] 所述获取单元,还用于获取所述目标程序的符号文件的代码段;
[0063] 所述计算单元,还用于根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;
[0064] 所述赋值单元,还用于将所述第二校验值赋值至第三全局变量。
[0065] 第三方面,本发明实施例提供了一种校验热补丁或者动态库的装置,包括:存储器、处理器以及收发器,其中,
[0066] 所述存储器,用于存储所述处理器执行的程序代码;
[0067] 所述处理器,用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:获取目标程序符号文件的代码段;根据所述目标程序符号文件的代码段,计算第一校验值;加载第一文件;判断所述第一校验值与所述第二校验值是否相同;当所述第一校验值与所述第二校验值相同时,运行所述热补丁文件或者所述动态库文件;
[0068] 其中,所述第一校验值为所述目标程序对应的校验值,所述第一文件为热补丁文件或者动态库文件获取第二校验值,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值。
[0069] 结合第三方面,在第三方面的第一种可能的实现方式中,
[0070] 所述处理器,还用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:在所述目标程序代码中添加第一全局变量;根据所述目标程序代码生成所述目标程序的符号文件;
[0071] 其中,所述目标程序的符号文件中携带有所述第一全局变量;
[0072] 所述处理器,具体用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:根据所述目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到所述第一校验值。
[0073] 结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
[0074] 所述处理器,还用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:在所述目标程序的符号文件中查找所述第一全局变量;将所述第一校验值,赋值至所述第一全局变量;
[0075] 结合第三方面、第三方面的第一种可能的实现方式、或者第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,
[0076] 当所述第一文件为热补丁文件时,
[0077] 所述处理器,还用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:获取所述目标程序的符号文件的代码段;根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;将所述第二校验值赋值至第二全局变量,所述第二全局变量为所述热补丁文件的全局变量。
[0078] 结合第三方面、第三方面的第一种可能的实现方式、或者第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,
[0079] 当所述第一文件为动态库文件时,
[0080] 所述处理器,还用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:在所述动态库文件中添加一个目标文件;根据所有的目标文件,生成动态库的符号文件;获取所述目标程序的符号文件的代码段;根据所述目标程序的符号文件的代码段进行MD5计算,得到所述第二校验值;将所述第二校验值赋值至第三全局变量;
[0081] 其中,所述目标文件中携带有第三全局变量。
[0082] 本发明提供的检验热补丁或者动态库的方法及装置,首先获取目标程序符号文件的代码段,其次根据目标程序符号文件的代码段,计算第一校验值,其中,第一校验值为目标程序对应的校验值,然后加载第一文件,并获取第二校验值,其中,第一文件为热补丁文件或者动态库文件,第二校验值为热补丁文件或者动态库文件的校验值,最后判断第一校验值与第二校验值是否相同,若第一校验值与第二校验值相同,则运行热补丁文件或者动态库文件。与目前目标程序在加载热补丁文件或者动态库文件相比,本发明通过在加载热补丁文件或者动态库文件之前,计算出目标程序对应的校验值,即在加载热补丁文件或者动态库文件之前,已经计算出目标程序对应的校验值,在加载直接获取第一校验值以及第二校验值进行校验,而不需要在运行目标程序并且加载热补丁文件或者动态库文件时,计算目标程序对应的校验值,再进行校验,从而可以降低校验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度。附图说明
[0083] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0084] 图1为本发明实施例中校验热补丁或者动态库的方法流程图
[0085] 图2为本发明实施例中另一种校验热补丁或者动态库的方法流程图;
[0086] 图3为本发明实施例中又一种校验热补丁或者动态库的方法流程图;
[0087] 图4为本发明实施例中又一种校验热补丁或者动态库的方法流程图;
[0088] 图5为本发明实施例中又一种校验热补丁或者动态库的方法流程图;
[0089] 图6为本发明实施例中又一种校验热补丁或者动态库的方法流程图;
[0090] 图7为本发明实施例中一种校验热补丁或者动态库的装置示意图;
[0091] 图8为本发明实施例中另一种校验热补丁或者动态库的装置示意图;
[0092] 图9为本发明实施例中校验热补丁或者动态库的装置结构示意图。

具体实施方式

[0093] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0094] 本发明实施例提供一种校验热补丁或者动态库的方法,能够降低校验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度,如图1所示,所述方法包括:
[0095] 101、电子设备获取目标程序符号文件的代码段。
[0096] 对于本发明实施例,该电子设备为能够程序的电子设备。
[0097] 对于本发明实施例,电子设备将多个目标程序的源文件通过编译工具,生成目标程序的符号文件,从该生成的目标程序的符号文件中获取目标程序的代码段。
[0098] 102、电子设备根据目标程序符号文件的代码段,计算第一校验值。
[0099] 其中,第一校验值为目标程序对应的校验值。
[0100] 对于本发明实施例,电子设备对目标程序符号文件的代码段进行消息摘要算法第五版(英文全称:Message-Digest Algorithm 5,英文缩写:MD5)计算,得到目标程序对应的校验值,并且在目标程序的符号文件中查找全局变量,将生成的目标程序对应的校验值替换原有的校验值,并赋值至该全局变量。
[0101] 103、电子设备加载第一文件。
[0102] 其中,第一文件为热补丁文件或者动态库文件。
[0103] 对于本发明实施例,热补丁文件为能够修复软件漏洞的一些代码,并且为一种快速、低成本修复产品软件版本缺陷的方式。在本发明实施例中,动态库文件为在类UNIX系统中常用的一种函数库形态,应用程序可以在初始化阶段自动导入或在运行时根据需要随时装载或者卸载。
[0104] 104、电子设备获取获取第二校验值。
[0105] 其中,第二校验值为热补丁文件或者动态库文件的校验值。
[0106] 对于本发明实施例,热补丁文件以及动态库文件中均存在校验值,电子设备在加载热补丁文件或者动态库文件时,均需要获取热补丁文件或者动态库文件中的校验值。
[0107] 105、电子设备判断第一校验值与第二校验值是否相同。
[0108] 对于本发明实施例,由于存在较多的非法的热补丁文件或者动态库文件,因此电子设备需要判断热补丁文件以及动态库文件的合法性。
[0109] 对于本发明实施例,电子设备需要将热补丁文件对应的校验值或者动态库文件对应的校验值与目标程序对应的校验值进行比较,若相同,则电子设备确定该热补丁文件或者动态库文件的合法;若不相同,则电子设备确定该热补丁文件或者该动态库文件非法。
[0110] 106、若第一校验值与第二校验值相同,则电子设备运行热补丁文件或者动态库文件。
[0111] 对于本发明实施例,若电子设备确定目标程序对应的校验值与热补丁文件对应的校验值或者动态库文件对应的校验值相同,则该电子设备运行该热补丁文件或者动态库文件。
[0112] 本发明实施例提供的检验热补丁或者动态库的方法,首先获取目标程序符号文件的代码段,其次根据目标程序符号文件的代码段,计算第一校验值,其中,第一校验值为目标程序对应的校验值,然后加载第一文件,并获取第二校验值,其中,第一文件为热补丁文件或者动态库文件,第二校验值为热补丁文件或者动态库文件的校验值,最后判断第一校验值与第二校验值是否相同,若第一校验值与第二校验值相同,则运行热补丁文件或者动态库文件。与目前目标程序在加载热补丁文件或者动态库文件相比,本发明实施例通过在加载热补丁文件或者动态库文件之前,计算出目标程序对应的校验值,即在加载热补丁文件或者动态库文件之前,已经计算出目标程序对应的校验值,在加载直接获取第一校验值以及第二校验值进行校验,而不需要在运行目标程序并且加载热补丁文件或者动态库文件时,计算目标程序对应的校验值,再进行校验,从而可以降低校验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度。
[0113] 本发明实施例的另一种可能的实现方式,在如图1所示的基础上,步骤105、电子设备判断第一校验值与第二校验值是否相同,之后还包括如图2所示的步骤201。
[0114] 201、若第一校验值与第二校验值不相同,则电子设备不运行热补丁文件或者动态库文件。
[0115] 对于本发明实施例,若第一校验值与第二校验值不相同,则电子设备确定该热补丁文件或者动态库文件为非法文件,并且不运行该热补丁文件或者动态库文件。
[0116] 本发明实施例的第一种可能的实现方式,在如图2所示的基础上,步骤101、电子设备获取目标程序符号文件的代码段,之前还包括如图3所示的步骤301-302,步骤102、电子设备根据目标程序符号文件的代码段,计算第一校验值,具体包括如图3所示的步骤303。
[0117] 301、电子设备在目标程序代码中添加第一全局变量。
[0118] 对于本发明实施例,电子设备在目标程序代码中添加一个全局变量,该全局变量所占用的字节数为128位。
[0119] 302、电子设备根据目标程序代码生成目标程序的符号文件。
[0120] 其中,目标程序的符号文件中携带有第一全局变量。
[0121] 对于本发明实施例,电子设备首先将目标程序代码通过编译工具,编译生成所有的目标文件,然后将所有的目标文件生成目标程序的符号文件。
[0122] 303、电子设备根据目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到第一校验值。
[0123] 对于本发明实施例,电子设备通过编译工具获取目标程序符号文件的代码段,并将该代码段进行MD5计算,生成目标程序对应的校验值。
[0124] 对于本发明实施例,电子设备通过将目标程序的符号文件的代码段,进行MD5计算,能够得到第一校验值,由于MD5计算比CRC计算的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性。
[0125] 本发明实施例的另一种可能的实现方式,在如图3所示的基础上,步骤102、电子设备根据目标程序符号文件的代码段,计算第一校验值,之后还包括如图4所示的步骤401-402。
[0126] 401、电子设备在目标程序的符号文件中查找第一全局变量。
[0127] 402、电子设备将第一校验值,赋值至第一全局变量。
[0128] 对于本发明实施例,由于目标程序的符号文件中存在第一全局变量,则电子设备从目标程序的符号文件中查找第一全局变量,并将之前生成的目标程序的校验值赋值至该第一全局变量。
[0129] 对于本发明实施例,电子设备通过将第一校验值赋值至第一全局变量,能够替换之前的校验值,由于之前的校验值是人工赋值的,而第一校验值是电子设备计算得到的,不需要人工干预,因此第一校验值的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性。
[0130] 本发明实施例的另一种可能实现方式,在如图4所示的基础上,当所述第一文件为热补丁文件时,步骤103、电子设备加载第一文件,之前还包括如图5所示的步骤501-502。
[0131] 501、电子设备获取目标程序的符号文件的代码段。
[0132] 502、电子设备根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值,并将第二校验值赋值至第二全局变量。
[0133] 其中,第二全局变量为热补丁文件的全局变量。
[0134] 对于本发明实施例,在热补丁文件的编译阶段,电子设备需要获取目标程序符号文件的代码段,并将该代码段进行MD5计算,生成第二校验值,并将该第二校验值赋值至该热补丁文件中第二全局变量的数据段。
[0135] 对于本发明实施例,通过电子设备在加载热补丁文件之前,将目标文件的代码段进行MD5计算,能够将生成的校验值赋值至热补丁文件的全局变量中,即不需要人工干预,能够在编译阶段确定热补丁文件的MD5校验值,并将该MD5校验值赋值至热补丁文件中的全局变量,由于将热补丁的校验计算不在加载阶段中进行,并且不需要人工干预以及MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验热补丁文件的时延,进而可以提升校验热补丁文件的安全性。
[0136] 本发明实施例的另一种可能的实现方式,在如图4所示的基础上,当第一文件为动态库文件时,步骤103、电子设备加载第一文件,之前还包括如图6所示的步骤601-604。
[0137] 601、电子设备在动态库文件中添加一个目标文件。
[0138] 其中,目标文件中携带有第三全局变量。
[0139] 对于本发明实施例,电子设备在动态库文件中添加一个目标文件,其中该目标文件中携带第三全局变量。
[0140] 对于本发明实施例,在电子设备在动态库文件中添加一个目标文件之后,电子设备将该动态库文件以及添加的目标文件,通过编译工具,编译生成所有的目标文件。
[0141] 602、电子设备根据所有的目标文件,生成动态库的符号文件。
[0142] 对于本发明实施例,电子设备链接上述所有的目标文件,生成动态库文件的符号文件。
[0143] 例如,xxx_symbol.so文件为动态库的符号文件。
[0144] 603、电子设备获取目标程序的符号文件的代码段。
[0145] 604、电子设备根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值,并将第二校验值赋值至第三全局变量。
[0146] 对于本发明实施例,电子设备在编译动态库文件时,电子设备需要获取目标程序符号文件的代码段,并将该代码段进行MD5计算,生成动态库文件对应的校验值,并将该校验值赋值至该第三全局变量的数据段。
[0147] 对于本发明实施例,通过在加载动态库文件之前,将目标程序的符号文件的代码段进行MD5计算,并将计算得到的MD5校验值赋值至动态库文件的全局变量,并且不需要人工干预,编译工具自动实现上述步骤,由于不需要在加载动态库文件的过程中进行上述步骤,又由于不需要人工干预并且MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验动态库文件的时延,进而可以提升校验动态库文件的安全性。
[0148] 对于本发明实施例,在校验动态库文件之前,电子设备需要获取目标程序的版本号以及动态库的版本号,并且确定目标程序的版本号是否高于动态库文件的版本号,当目标程序的版本号低于动态库文件的版本号,则电子设备无法加载该动态库文件;若目标程序的版本号高于动态库文件的版本号,则电子设备通过上述步骤,校验该动态库文件。
[0149] 进一步的,本发明实施例提供了另一种校验热补丁或者动态库的方法,电子设备通过将目标程序的符号文件的代码段,进行MD5计算,能够得到第一校验值,由于MD5计算比CRC计算的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;电子设备通过将第一校验值赋值至第一全局变量,能够替换之前的校验值,由于之前的校验值是人工赋值的,而第一校验值是电子设备计算得到的,不需要人工干预,因此第一校验值的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;通过电子设备在加载热补丁文件之前,将目标文件的代码段进行MD5计算,能够将生成的校验值赋值至热补丁文件的全局变量中,即不需要人工干预,能够在编译阶段确定热补丁文件的MD5校验值,并将该MD5校验值赋值至热补丁文件中的全局变量,由于将热补丁的校验计算不在加载阶段中进行,并且不需要人工干预以及MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验热补丁文件的时延,进而可以提升校验热补丁文件的安全性;
通过在加载动态库文件之前,将目标程序的符号文件的代码段进行MD5计算,并将计算得到的MD5校验值赋值至动态库文件的全局变量,并且不需要人工干预,编译工具自动实现上述步骤,由于不需要在加载动态库文件的过程中进行上述步骤,又由于不需要人工干预并且MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验动态库文件的时延,进而可以提升校验动态库文件的安全性。
[0150] 进一步地,作为对图1及图6所示方法的实现,本发明实施例还提供了一种校验热补丁或者动态库的装置,用于降低校验热补丁文件或者动态库文件的时延,进而可以提升用户体验,如图7所示,装置包括:获取单元71、计算单元72、加载单元73、判断单元74、运行单元75。
[0151] 获取单元71,用于获取目标程序符号文件的代码段。
[0152] 计算单元72,用于根据目标程序符号文件的代码段,计算第一校验值。
[0153] 其中,第一校验值为目标程序对应的校验值。
[0154] 加载单元73,用于加载第一文件。
[0155] 其中,第一文件为热补丁文件或者动态库文件。
[0156] 获取单元71,还用于获取第二校验值。
[0157] 其中,第二校验值为热补丁文件或者动态库文件的校验值。
[0158] 判断单元74,用于判断第一校验值与第二校验值是否相同。
[0159] 运行单元75,用于当第一校验值与第二校验值相同时,运行热补丁文件或者动态库文件。
[0160] 运行单元75,还用于当第一校验值与第二校验值不相同时,不运行热补丁文件或者动态库文件。
[0161] 进一步地,如图8所示,装置还包括:添加单元81、生成单元82。
[0162] 添加单元81,用于在目标程序代码中添加第一全局变量。
[0163] 生成单元82,用于根据目标程序代码生成目标程序的符号文件。
[0164] 其中,目标程序的符号文件中携带有第一全局变量。
[0165] 计算单元72,具体用于根据目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到第一校验值。
[0166] 进一步地,如图8所示,装置还包括:查找单元83、赋值单元84。
[0167] 查找单元83,用于在目标程序的符号文件中查找第一全局变量。
[0168] 赋值单元84,用于将第一校验值,赋值至第一全局变量。
[0169] 获取单元71,还用于获取目标程序的符号文件的代码段。
[0170] 计算单元72,还用于根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值。
[0171] 赋值单元84,还用于将第二校验值赋值至第二全局变量。
[0172] 其中,第二全局变量为热补丁文件的全局变量。
[0173] 添加单元81,还用于在动态库文件中添加一个目标文件。
[0174] 其中目标文件中携带有第三全局变量;
[0175] 生成单元82,还用于根据所有的目标文件,生成动态库的符号文件。
[0176] 获取单元71,还用于获取目标程序的符号文件的代码段。
[0177] 计算单元72,还用于根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值。
[0178] 赋值单元84,还用于将第二校验值赋值至第三全局变量。
[0179] 本发明实施例提供的检验热补丁或者动态库的装置,首先获取目标程序符号文件的代码段,其次根据目标程序符号文件的代码段,计算第一校验值,其中,第一校验值为目标程序对应的校验值,然后加载第一文件,并获取第二校验值,其中,第一文件为热补丁文件或者动态库文件,第二校验值为热补丁文件或者动态库文件的校验值,最后判断第一校验值与第二校验值是否相同,若第一校验值与第二校验值相同,则运行热补丁文件或者动态库文件。与目前目标程序在加载热补丁文件或者动态库文件相比,本发明实施例通过在加载热补丁文件或者动态库文件之前,计算出目标程序对应的校验值,即在加载热补丁文件或者动态库文件之前,已经计算出目标程序对应的校验值,在加载直接获取第一校验值以及第二校验值进行校验,而不需要在运行目标程序并且加载热补丁文件或者动态库文件时,计算目标程序对应的校验值,再进行校验,从而可以降低校验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度。
[0180] 进一步的,本发明实施例提供了另一种校验热补丁或者动态库的装置,电子设备通过将目标程序的符号文件的代码段,进行MD5计算,能够得到第一校验值,由于MD5计算比CRC计算的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;电子设备通过将第一校验值赋值至第一全局变量,能够替换之前的校验值,由于之前的校验值是人工赋值的,而第一校验值是电子设备计算得到的,不需要人工干预,因此第一校验值的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;通过电子设备在加载热补丁文件之前,将目标文件的代码段进行MD5计算,能够将生成的校验值赋值至热补丁文件的全局变量中,即不需要人工干预,能够在编译阶段确定热补丁文件的MD5校验值,并将该MD5校验值赋值至热补丁文件中的全局变量,由于将热补丁的校验计算不在加载阶段中进行,并且不需要人工干预以及MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验热补丁文件的时延,进而可以提升校验热补丁文件的安全性;
通过在加载动态库文件之前,将目标程序的符号文件的代码段进行MD5计算,并将计算得到的MD5校验值赋值至动态库文件的全局变量,并且不需要人工干预,编译工具自动实现上述步骤,由于不需要在加载动态库文件的过程中进行上述步骤,又由于不需要人工干预并且MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验动态库文件的时延,进而可以提升校验动态库文件的安全性。
[0181] 需要说明的是,本发明实施例中提供的校验热补丁或者动态库中各设备所对应的其他相应描述,可以参考图1、图2、图3、图4、图5或图6中的对应描述,在此不再赘述。
[0182] 再进一步地,本发明实施例还提供了一种校验热补丁或者动态库的装置,如图9所示,该装置包括:存储器91、处理器92及收发器93,所述收发器93、存储器91分别与处理器92相连接,图9描述了本发明另一个实施例提供的电子设备设备的结构,用于执行前述图1至图6所述实施例的电子设备实施的授权方法。
[0183] 所述存储器91,用于存储所述处理器执行的程序代码。
[0184] 所述处理器92,用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:获取目标程序符号文件的代码段;根据所述目标程序符号文件的代码段,计算第一校验值;加载第一文件;判断所述第一校验值与所述第二校验值是否相同;当所述第一校验值与所述第二校验值相同时,运行所述热补丁文件或者所述动态库文件。
[0185] 其中,所述第一校验值为所述目标程序对应的校验值,所述第一文件为热补丁文件或者动态库文件获取第二校验值,所述第二校验值为所述热补丁文件或者所述动态库文件的校验值。
[0186] 所述处理器92,还用于调用所述存储器中存储的程序代码,并按照所述程序代码执行操作:当所述第一校验值与所述第二校验值不相同时,不运行所述热补丁文件或者所述动态库文件。
[0187] 处理器92,还用于调用存储器中存储的程序代码,并按照程序代码执行操作:在目标程序代码中添加第一全局变量;根据目标程序代码生成目标程序的符号文件;
[0188] 其中,目标程序的符号文件中携带有第一全局变量。
[0189] 处理器92,具体用于调用存储器中存储的程序代码,并按照程序代码执行操作:根据目标程序的符号文件的代码段,进行消息摘要算法第五版MD5计算,得到第一校验值。
[0190] 处理器92,还用于调用存储器中存储的程序代码,并按照程序代码执行操作:在目标程序的符号文件中查找第一全局变量;将第一校验值,赋值至第一全局变量。
[0191] 当第一文件为热补丁文件时,
[0192] 处理器92,还用于调用存储器中存储的程序代码,并按照程序代码执行操作:获取目标程序的符号文件的代码段;根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值;将第二校验值赋值至第二全局变量,第二全局变量为热补丁文件的全局变量。
[0193] 处理器92,还用于调用存储器中存储的程序代码,并按照程序代码执行操作:在动态库文件中添加一个目标文件;根据所有的目标文件,生成动态库的符号文件;获取目标程序的符号文件的代码段;根据目标程序的符号文件的代码段进行MD5计算,得到第二校验值;将第二校验值赋值至第三全局变量。
[0194] 其中,目标文件中携带有第三全局变量。
[0195] 本发明实施例提供的检验热补丁或者动态库的装置,首先获取目标程序符号文件的代码段,其次根据目标程序符号文件的代码段,计算第一校验值,其中,第一校验值为目标程序对应的校验值,然后加载第一文件,并获取第二校验值,其中,第一文件为热补丁文件或者动态库文件,第二校验值为热补丁文件或者动态库文件的校验值,最后判断第一校验值与第二校验值是否相同,若第一校验值与第二校验值相同,则运行热补丁文件或者动态库文件。与目前目标程序在加载热补丁文件或者动态库文件相比,本发明实施例通过在加载热补丁文件或者动态库文件之前,计算出目标程序对应的校验值,即在加载热补丁文件或者动态库文件之前,已经计算出目标程序对应的校验值,在加载直接获取第一校验值以及第二校验值进行校验,而不需要在运行目标程序并且加载热补丁文件或者动态库文件时,计算目标程序对应的校验值,再进行校验,从而可以降低校验热补丁文件或者动态库文件的时延,进而可以提升用户的体验度。
[0196] 进一步的,本发明实施例提供了另一种校验热补丁或者动态库的装置,电子设备通过将目标程序的符号文件的代码段,进行MD5计算,能够得到第一校验值,由于MD5计算比CRC计算的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;电子设备通过将第一校验值赋值至第一全局变量,能够替换之前的校验值,由于之前的校验值是人工赋值的,而第一校验值是电子设备计算得到的,不需要人工干预,因此第一校验值的安全性更高,从而可以进一步地提高校验热补丁文件或者动态库文件的安全性;通过电子设备在加载热补丁文件之前,将目标文件的代码段进行MD5计算,能够将生成的校验值赋值至热补丁文件的全局变量中,即不需要人工干预,能够在编译阶段确定热补丁文件的MD5校验值,并将该MD5校验值赋值至热补丁文件中的全局变量,由于将热补丁的校验计算不在加载阶段中进行,并且不需要人工干预以及MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验热补丁文件的时延,进而可以提升校验热补丁文件的安全性;
通过在加载动态库文件之前,将目标程序的符号文件的代码段进行MD5计算,并将计算得到的MD5校验值赋值至动态库文件的全局变量,并且不需要人工干预,编译工具自动实现上述步骤,由于不需要在加载动态库文件的过程中进行上述步骤,又由于不需要人工干预并且MD5计算的安全性高于CRC计算的安全性,从而可以进一步地降低校验动态库文件的时延,进而可以提升校验动态库文件的安全性。
[0197] 需要说明的是,本发明实施例中提供的校验热补丁或者动态库中各设备所对应的其他相应描述,可以参考图1、图2、图3、图4、图5或图6中的对应描述,在此不再赘述。
[0198] 本发明实施例提供的校验热补丁或者动态库的装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的校验热补丁或者动态库的方法及装置可以适用于在加载热补丁文件或者动态库文件之前,校验热补丁文件或者动态库文件的安全性,但不仅限于此。
[0199] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0200] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈