CN107196761A - 一种保护应用程序中的核心函数的方法 - Google Patents

一种保护应用程序中的核心函数的方法 Download PDF

Info

Publication number
CN107196761A
CN107196761A CN201710206605.XA CN201710206605A CN107196761A CN 107196761 A CN107196761 A CN 107196761A CN 201710206605 A CN201710206605 A CN 201710206605A CN 107196761 A CN107196761 A CN 107196761A
Authority
CN
China
Prior art keywords
ciphertext
nucleus module
core function
function
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.)
Granted
Application number
CN201710206605.XA
Other languages
English (en)
Other versions
CN107196761B (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.)
Xi'an Youdian Information Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710206605.XA priority Critical patent/CN107196761B/zh
Publication of CN107196761A publication Critical patent/CN107196761A/zh
Application granted granted Critical
Publication of CN107196761B publication Critical patent/CN107196761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种保护应用程序中的核心函数的方法,为了保护应用程序中的核心函数,需要对核心函数的调用者进行校验,首先通过核心模块接收调用者发送的第一密文;所述第一密文是所述调用者从服务器中获取的验证密文;然后通过所述核心模块判断所述第一密文是否合法;若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。故而,本发明对核心函数设置了‘校验’的机制,只有校验通过才可以正常的使用该核心函数,故而能够避免该核心函数被不合法的第三方调用,能够保护到本应用程序的核心函数的安全。

Description

一种保护应用程序中的核心函数的方法
技术领域
本申请涉及视频直播领域,尤其涉及一种保护应用程序中的核心函数的方法。
背景技术
目前,软件开发通常会采用模块化开发,将软件的功能进行模块化拆分,不同的模块负责不同的功能。同时在设计模块时尽可能的使得模块松耦合,使得模块能够独立使用,并且相对于函数功能也会设计的比较独立,每一种功能设计成一个独立的函数,通过将该函以导出的方式来给使用者使用,从而给模块的使用者提供了极大的方便。
当程序发布时,程序主框架则会加载一个个独立的模块来实现整个程序的功能。对于Windows客户端程序则是一个DLL(Dynamic Link Library文件为动态链接库文件)文件。
由于在程序发布到客户端后,可以从客户端安装目录中获取到一个个独立的DLL文件,那么对于第三方或者HACK(hacker,也称网络黑客或者网络骇客)则也很方便的可以获取到所有的模块文件,同时由于每个模块的功能函数都是以导出的形式存在,那么第三方拿到模块后则也可以直接使用导出函数,从而盗取了软件开发商的知识产权。比如,开发者将对资源文件进行加解密的功能开发到一个模块中,并进行导出该函数,由于函数被调用是不知道调用者是谁,那么第三方获取到该模块后,则可以直接使用该模块导出的所有函数。因此急需一种保护应用程序中的核心函数的方法,防止被第三方直接进行使用的方法。
发明内容
本发明了提供了一种保护应用程序中的核心函数的方法,以解决目前面对的函数的技术问题。
为解决上述技术问题,本发明提供了一种保护应用程序中的核心函数的方法,所述方法包括:
通过核心模块接收调用者发送的第一密文;所述第一密文是所述调用者从服务器中获取的验证密文;其中,所述核心模块中装载了所述核心函数;
通过所述核心模块判断所述第一密文是否合法;
若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。
优选的,所述应用程序包括:主程序,模块文件;
所述模块文件中包含:所述核心模块。
优选的,所述调用者至少包括:所述主程序,其他应用程序。
优选的,所述通过核心模块接收调用者发送的第一密文之前,所述方法还包括:
通过所述主程序获取所述应用程序的当前运行环境信息;
通过所述主程序将所述当前运行环境信息和所述核心函数的函数名称上报所述服务器,以使所述服务器基于所述运行环境信息以及所述核心函数的函数名称生成所述第一密文。
优选的,所述通过所述主程序获取所述应用程序的运行环境信息之前,所述方法还包括:
当所述核心模块加载到终端设备的内存中时,确定所述核心模块的哈希值,所述哈希值用于所述服务器对所述核心模块进行验证,若验证不通过,则拒接所述主程序发送的所述当前运行环境信息和所述核心函数的函数名称。
优选的,所述确定所述核心模块的哈希值,包括:
通过所述主程序获取所述核心模块在所述终端设备的内存中的起始地址;
通过所述主程序获取所述核心模块的代码段的长度;
基于所述核心模块在所述终端设备的内存中的起始地址和所述核心模块的代码段的长度,确定出所述核心模块的哈希值。
优选的,所述核心模块是保密级别达到预设保密级别阈值的模块。
优选的,所述通过所述核心模块判断所述第一密文是否合法,包括:
通过所述核心模块判断所述第一密文和第二密文是否相同,若相同,则表示所述第一密文合法;其中,所述第二密文是所述核心模块基于所述核心函数生成的标准密文。
优选的,所述第二密文通过如下步骤获得:
获得当前用户的注册唯一ID信息和所述终端设备的ID;
将所述当前用户的注册唯一ID信息和所述所述终端设备的ID合并,形成拼接的ID;
计算所述拼接的ID的哈希值,将所述哈希值作为所述第二密文的密码值;
利用所述核心函数的函数名称做位加密的字符串数据;
基于所述第二密文的密码值和所述位加密的字符串数据生成所述核心函数的第二密文。
优选的,所述终端设备的ID至少包括以下一种或者几种组合:
中央处理器CPU型号、硬盘序列号、MAC地址。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
本发明公开了一种保护应用程序中的核心函数的方法,为了保护应用程序中的核心函数,需要对核心函数的调用者进行校验,首先通过核心模块接收调用者发送的第一密文;所述第一密文是所述调用者从服务器中获取的验证密文;然后通过所述核心模块判断所述第一密文是否合法;若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。故而,本发明对核心函数设置了‘校验’的机制,只有校验通过才可以正常的使用该核心函数,故而能够避免该核心函数被不合法的第三方调用,能够保护到本应用程序的核心函数的安全。
附图说明
图1为本发明实施例中一种保护应用程序中的核心函数的方法的实施过程图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
本发明公开了一种保护应用程序中的核心函数的方法。为了保护应用程序中的核心函数,需要对核心函数的调用者进行校验,只有校验通过才可以正常的使用该核心函数。调用者包括但不限于是:自身应用程序的主程序,其他应用程序。如果调用者直接使用则会报错,无法正常使用。
本发明的方法实际包含两个主要过程:第一个主要过程,在应用程序中在核心函数中设置验证的过程。第二个主要过程,核心函数在调用时的实际验证过程。
下面,本发明会详细介绍上面两个主要的过程。
在第一个主要过程中,一方面,本发明在核心模块中编写获取当前运行环境的功能,会获取当前用户运行的环境信息,然后服务器依据环境信息和每个核心函数名称生成对应的第一密文。另一方面,本发明会在所有核心函数中对应设置第二密文。当调用者在调用核心函数时,需要传入第一密文,并且核心函数会使用第二密文对第一密文进行验证,只有传入正确的密文才能够调用核心函数,否则无法使用核心函数。因为检测逻辑是在核心模块中,所以为了进一步加强核心模块的检测功能的安全性,防止HACK(网络黑客)篡改检测逻辑,则首先需要对该核心模块的代码做完整性校验,本文通过计算核心模块的代码的哈希值上传到服务器,服务器验证通过才能正确进行后续的逻辑验证。
下面介绍具体的实施过程。
本发明的方法主要针对应用程序进行设定,例如视频直播软件、语音聊天软件等等。
而对于应用程序来说,分为主程序和模块文件(即:动态链接库文件)。而模块文件又分为核心模块和普通模块。
核心模块,是满足某些机制或者条件而成为了核心模块。例如,核心模块是保密级别达到预设保密级别阈值的模块。又或者,核心模块是由开发者规定必须受到保护的模块。
另外,在核心模块中,包含有至少一个核心函数和至少一个普通函数。本发明的主要目的,就是为了避免核心模块中的核心函数被违法者调用,进而对核心函数设置‘验证’机制,用来保护核心函数的方法。核心函数的个数本发明不做限制。核心函数和核心模块类似,也是满足某些机制或者条件而成为了核心函数。例如,核心函数是保密级别达到预设保密级别阈值的函数。又或者,核心函数是由开发者规定必须受到保护的函数。普通函数,是不满足特定机制或者条件的函数。
普通模块,和核心模块具有区别,普通模块中包含有至少一个普通函数。
而在具体的设置过程中,由于每个核心函数的校验代码是编写在核心模块中,网络黑客通过修改该功能代码,则可以绕过对当前校验的验证,所以需要进一步的加强对检测功能自身代码的安全性。本文通过对该检测功能的代码计算其哈希值来保障代码的完整性,如果代码被修改则其哈希值会不一样。当核心模块被加载到内存中后,则可以获取到其加载的起始地址,然后获取其模块的代码段的长度,在计算该代码段内存的哈希值时需要跳过重定位的数据。
首先,为了保证核心模块的安全性,需要对核心模块的代码做完整性校验,本文通过计算核心模块的代码的哈希值上传到服务器,服务器验证通过才能正确进行后续的逻辑验证。具体来说,当所述核心模块加载到终端设备的内存中时,利用主程序确定所述核心模块的哈希值,所述哈希值用于所述服务器对所述核心模块进行验证,当主程序上报了核心模块代码的哈希值后,服务器会判断其哈希值是否和服务器存储的一致,如果不一致则表示验证不通过,则会中断后续的流程。例如,拒接所述主程序发送的所述当前运行环境信息和所述核心函数的函数名称。如果一致则会继续后续流程。
具体来说,所述确定所述核心模块的哈希值,包括:
第一步,通过所述主程序获取所述核心模块在所述终端设备的内存中的起始地址。
HMODULE GetModuleHandle(LPCTSTRl pModuleName);
通过调用Windows API函数GetModuleHandle来获取模块的内存起始地址。
其中,参数pModuleName则传入模块的名称。
其中,返回值HMODULE则是模块的内存起始地址。
第二步,通过所述主程序获取所述核心模块的代码段的长度。
对于核心模块来说,其模块开头是该核心模块的头数据,其头数据存储着模块的所有信息,包括模块的大小,模块的名称,核心模块所包含的所有段以及每个段的起始地址及段的大小。本文则从核心模块的头结构中获取到代码段的相对地址(代码段则是模块的所有代码存放的地方),以及段的大小。
第三步,基于所述核心模块在所述终端设备的内存中的起始地址和所述核心模块的代码段的长度,确定出所述核心模块的哈希值。
由于核心模块在每次程序加载的时候,可能会加载到不同的内存地址,从而导致核心模块中对于直接寻址的指令每次都会发生变化,从而导致校验的哈希值不一样,所以需要跳过每个重定位数据,不计算其哈希值。重定位的所有数据的内存地址都存储在模块头的重定位表中。在计算时通过第1步获取到了核心模块的起始地址,第2步获取到了核心模块的代码段的相对地址,将2个地址相加则得到核心模块的代码段在内存中的地址。然后使用MD5算法来对整个代码段的内存计算其哈希值。同时计算时跳过所有的重定位的数据。
为了进一步加强对核心模块的核心函数的验证,本发明对每个核心函数的验证都会依赖于当前运行程序的环境信息。
在具体的实施过程中,第1步,通过所述主程序获取所述应用程序的当前运行环境信息。
当主程序启动时,会上报当前用户的注册唯一ID信息(即用户注册的登录名称)已及当前终端设备的唯一ID(终端设备的ID至少包括以下一种或者几种组合:中央处理器CPU型号、硬盘序列号、MAC地址。例如将三种拼接组合成的一个ID)到服务器。那么服务器会依据客户端上报的这2个ID信息生成第一密文列表。依赖于用户信息和终端设备信息的好处是,服务器下发的第一密文列表只能用于该终端设备上,对于其他终端设备或者其他用户则不能使用。使得对于每个用户都有各自的第一密文,从而进一步的提高了密文安全性。
第2步,通过所述主程序将所述当前运行环境信息和所述核心函数的函数名称上报所述服务器,以使所述服务器基于所述运行环境信息以及所述核心函数的函数名称生成所述第一密文。
服务器会下发给主程序一个函数调用的第一密文的列表。
服务器会依据客户端上报的ID来生成每个核心函数的第一密文,因此对于每个函数会使用不同的第一密文,可以进一步的加强对函数调用的保护。本文使用非对称加密算法来生成每个函数的第一密文。具体实现如下:
本发明使用非对称加密算法来生成每个核心函数的第一密文。具体实现如下:
1.将客户端上报的运行环境的ID值和终端设备ID做为后续使用的非对称加密算法的第一密文的密码值。
通过将2个ID拼接成一个ID后,使用MD5算法来对拼接的ID计算其哈希值,并将该哈希值做为非对称加密算法的密码值(KEY值)。
非对称加密算法的密码值(KEY值)=MD5.Create(注册ID+设备ID)
2.将每个函数的函数名做位加密的字符串数据。
每个函数的函数名称是不一样的,所以可以将函数的名字做为非对称加密数据的原始数据。
3.生成每个核心函数的调用的第一密文的密码值。
有了步骤1和步骤2生成的非对称加密算法的KEY值和需要加密的明文(即位加密的字符串数据),那么直接使用非对称加密算法则可以生成一个该函数名的第一密文。并且将该第一密文做为每个函数的需要传入的参数。
通过上述3个步骤则可以对每个函数生成一个第一密文,最终会生成一个第一密文列表,并将该第一密文列表下发到客户端。
函数的第一密文=非对称加密算法.encrypt(非对称加密算法KEY,函数名称)
另外,本发明还会在核心模块中针对每个核心函数设置对应的第二密文,在核心模块的每个函数中加入和服务器一样的对函数名生成校验的KEY值,当主程序或者其他应用程序调用该函数模块中的核心函数时,会将服务器下发的KEY值做为第一密文传给核心模块。故而,本发明在核心函数中也会使用同样的方法来生成一个KEY值作为第二密文,来对比自己生成的和服务器下发的判断是否一致,如果一致才能正确的调用该核心函数的功能,否则不能正确调用该核心函数。
具体生成KEY值的方法也是首先获取用户ID和终端设备ID并计算MD5值做为非对称加密算法的KEY,然后对该函数名做为加密算法的明文,然后使用非对称加密算法得到一个第二密文,同时对比生成的第二密文和传入的第一密文是否一致,一致则校验通过。
具体来说,第二密文通过如下步骤获得:
获得当前用户的注册唯一ID信息和所述终端设备的ID;
将所述当前用户的注册唯一ID信息和所述所述终端设备的ID合并,形成拼接的ID;
计算所述拼接的ID的哈希值,将所述哈希值作为所述第二密文;
利用所述核心函数的函数名称做位加密的字符串数据;
生成所述核心函数的第二密文。
本发明利用应用程序的当前运行环境信息和所有核心函数各自的函数名称生成第二密文。故而每个核心函数都有各自对应的第二密文,如果第一密文中的核心函数的函数名称和本发明设置的第二密文的函数名称不对应,那么则验证失败,本发明的第二密文对于每个核心函数来说都具有唯一性。进而本发明使用第二密文来验证第一密文是否合法,可以进一步保证核心函数验证的安全性。
具体的实施过程和服务器中生成第一密文的过程类似,故而在此本发明不再赘述。
在第二个主要过程中,该方法包括:
步骤11,通过核心模块接收调用者发送的第一密文。
其中,所述第一密文是所述调用者从服务器中获取的验证密文;其中,所述核心模块中装载了所述核心函数。而第一密文是利用应用程序的当前运行环境信息和所有核心函数各自的函数名称生成的,故而对于每个核心函数来说,第一密文具有唯一性和针对性。
步骤12,通过所述核心模块判断所述第一密文是否合法。
在具体的实施过程中,主要是通过所述核心模块判断所述第一密文和第二密文是否相同,若相同,则表示所述第一密文合法;其中,所述第二密文是所述核心模块基于所述核心函数生成的标准密文。
步骤13,若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
本发明公开了一种保护应用程序中的核心函数的方法,为了保护应用程序中的核心函数,需要对核心函数的调用者进行校验,首先通过核心模块接收调用者发送的第一密文;所述第一密文是所述调用者从服务器中获取的验证密文;然后通过所述核心模块判断所述第一密文是否合法;若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。故而,本发明对核心函数设置了‘校验’的机制,只有校验通过才可以正常的使用该核心函数,故而能够避免该核心函数被不合法的第三方调用,能够保护到本应用程序的核心函数的安全。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种保护应用程序中的核心函数的方法,其特征在于,所述方法包括:
通过核心模块接收调用者发送的第一密文;所述第一密文是所述调用者从服务器中获取的验证密文;其中,所述核心模块中装载了所述核心函数;
通过所述核心模块判断所述第一密文是否合法;
若是,则通过所述核心模块开放调用所述核心函数的权限给所述调用者,以使所述调用者使用所述核心函数。
2.如权利要求1所述的方法,其特征在于,所述应用程序包括:主程序,模块文件;
所述模块文件中包含:所述核心模块。
3.如权利要求1所述的方法,其特征在于,所述调用者至少包括:所述主程序,其他应用程序。
4.如权利要求2所述的方法,其特征在于,所述通过核心模块接收调用者发送的第一密文之前,所述方法还包括:
通过所述主程序获取所述应用程序的当前运行环境信息;
通过所述主程序将所述当前运行环境信息和所述核心函数的函数名称上报所述服务器,以使所述服务器基于所述运行环境信息以及所述核心函数的函数名称生成所述第一密文。
5.如权利要求4所述的方法,其特征在于,所述通过所述主程序获取所述应用程序的运行环境信息之前,所述方法还包括:
当所述核心模块加载到终端设备的内存中时,确定所述核心模块的哈希值,所述哈希值用于所述服务器对所述核心模块进行验证,若验证不通过,则拒接所述主程序发送的所述当前运行环境信息和所述核心函数的函数名称。
6.如权利要求5所述的方法,其特征在于,所述确定所述核心模块的哈希值,包括:
通过所述主程序获取所述核心模块在所述终端设备的内存中的起始地址;
通过所述主程序获取所述核心模块的代码段的长度;
基于所述核心模块在所述终端设备的内存中的起始地址和所述核心模块的代码段的长度,确定出所述核心模块的哈希值。
7.如权利要求1所述的方法,其特征在于,所述核心模块是保密级别达到预设保密级别阈值的模块。
8.如权利要求1所述的方法,其特征在于,所述通过所述核心模块判断所述第一密文是否合法,包括:
通过所述核心模块判断所述第一密文和第二密文是否相同,若相同,则表示所述第一密文合法;其中,所述第二密文是所述核心模块基于所述核心函数生成的标准密文。
9.如权利要求8所述的方法,其特征在于,所述第二密文通过如下步骤获得:
获得当前用户的注册唯一ID信息和所述终端设备的ID;
将所述当前用户的注册唯一ID信息和所述所述终端设备的ID合并,形成拼接的ID;
计算所述拼接的ID的哈希值,将所述哈希值作为所述第二密文的密码值;
利用所述核心函数的函数名称做位加密的字符串数据;
基于所述第二密文的密码值和所述位加密的字符串数据生成所述核心函数的第二密文。
10.如权利要求9所述的方法,其特征在于,所述终端设备的ID至少包括以下一种或者几种组合:
中央处理器CPU型号、硬盘序列号、MAC地址。
CN201710206605.XA 2017-03-31 2017-03-31 一种保护应用程序中的核心函数的方法 Active CN107196761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710206605.XA CN107196761B (zh) 2017-03-31 2017-03-31 一种保护应用程序中的核心函数的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710206605.XA CN107196761B (zh) 2017-03-31 2017-03-31 一种保护应用程序中的核心函数的方法

Publications (2)

Publication Number Publication Date
CN107196761A true CN107196761A (zh) 2017-09-22
CN107196761B CN107196761B (zh) 2019-10-25

Family

ID=59871036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710206605.XA Active CN107196761B (zh) 2017-03-31 2017-03-31 一种保护应用程序中的核心函数的方法

Country Status (1)

Country Link
CN (1) CN107196761B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474617A (zh) * 2018-12-17 2019-03-15 武汉斗鱼鱼乐网络科技有限公司 一种so文件中函数的调用方法、装置、终端及存储介质
CN109977633A (zh) * 2019-03-28 2019-07-05 武汉斗鱼鱼乐网络科技有限公司 一种程序保护方法及相关装置
WO2019134276A1 (zh) * 2018-01-05 2019-07-11 武汉斗鱼网络科技有限公司 一种保护网页代码的方法、存储介质、电子设备和系统
CN112380503A (zh) * 2021-01-14 2021-02-19 北京东方通软件有限公司 一种保护核心程序及内存的方法
CN112668004A (zh) * 2019-10-16 2021-04-16 武汉斗鱼网络科技有限公司 一种基于llvm的函数校验方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005497A (zh) * 2006-11-27 2007-07-25 科博技术有限公司 一种阻止恶意代码入侵的系统及方法
CN102495986A (zh) * 2011-12-15 2012-06-13 上海中标凌巧软件科技有限公司 计算机系统中实现避免加密数据被盗用的调用控制方法
CN102904893A (zh) * 2012-10-22 2013-01-30 深圳中兴网信科技有限公司 验证装置和验证方法
CN106295260A (zh) * 2016-08-05 2017-01-04 武汉斗鱼网络科技有限公司 一种应用程序核心模块的隐藏方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005497A (zh) * 2006-11-27 2007-07-25 科博技术有限公司 一种阻止恶意代码入侵的系统及方法
CN102495986A (zh) * 2011-12-15 2012-06-13 上海中标凌巧软件科技有限公司 计算机系统中实现避免加密数据被盗用的调用控制方法
CN102904893A (zh) * 2012-10-22 2013-01-30 深圳中兴网信科技有限公司 验证装置和验证方法
CN106295260A (zh) * 2016-08-05 2017-01-04 武汉斗鱼网络科技有限公司 一种应用程序核心模块的隐藏方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019134276A1 (zh) * 2018-01-05 2019-07-11 武汉斗鱼网络科技有限公司 一种保护网页代码的方法、存储介质、电子设备和系统
CN109474617A (zh) * 2018-12-17 2019-03-15 武汉斗鱼鱼乐网络科技有限公司 一种so文件中函数的调用方法、装置、终端及存储介质
CN109474617B (zh) * 2018-12-17 2021-07-23 武汉斗鱼鱼乐网络科技有限公司 一种so文件中函数的调用方法、装置、终端及存储介质
CN109977633A (zh) * 2019-03-28 2019-07-05 武汉斗鱼鱼乐网络科技有限公司 一种程序保护方法及相关装置
CN112668004A (zh) * 2019-10-16 2021-04-16 武汉斗鱼网络科技有限公司 一种基于llvm的函数校验方法及相关装置
CN112668004B (zh) * 2019-10-16 2022-06-21 武汉斗鱼网络科技有限公司 一种基于llvm的函数校验方法及相关装置
CN112380503A (zh) * 2021-01-14 2021-02-19 北京东方通软件有限公司 一种保护核心程序及内存的方法
CN112380503B (zh) * 2021-01-14 2021-04-30 北京东方通软件有限公司 一种保护核心程序及内存的方法

Also Published As

Publication number Publication date
CN107196761B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN107196761B (zh) 一种保护应用程序中的核心函数的方法
CN107770182B (zh) 家庭网关的数据存储方法及家庭网关
CN106899410B (zh) 一种设备身份认证的方法及装置
CN104113534B (zh) 应用程序app的登录系统及方法
KR101075844B1 (ko) 통신 시스템에서 원격 메시지 인증을 위한 방법
US11277401B1 (en) Data integrity checker
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
WO2015003503A1 (zh) 一种提高信息安全性的方法、终端设备及网络设备
CN108111497A (zh) 摄像机与服务器相互认证方法和装置
CN104715183A (zh) 一种虚拟机运行时的可信验证方法和设备
WO2017076216A1 (zh) 服务器、移动终端、网络实名认证系统及方法
CN104767713A (zh) 账号绑定的方法、服务器及系统
JP2016012912A (ja) 送信ノード、受信ノード、通信ネットワークシステム、メッセージ作成方法およびコンピュータプログラム
WO2019029817A1 (en) DEVICES AND METHODS FOR KEY CERTIFICATE WITH MULTIPLE DEVICE CERTIFICATES
CN106465076A (zh) 一种控制短信息读取的方法和终端
CN109697370A (zh) 数据库数据加解密方法、装置、计算机设备和存储介质
CN102567903B (zh) 一种Web应用订购方法、装置及系统
CN105187369A (zh) 一种数据访问方法及装置
WO2011124051A1 (zh) 终端鉴权方法及系统
CN109614789A (zh) 一种终端设备的验证方法及设备
CN106559386A (zh) 一种认证方法及装置
CN110166471A (zh) 一种Portal认证方法及装置
CN106537962B (zh) 无线网络配置、接入和访问方法、装置及设备
CN106454826A (zh) 一种ap接入ac的方法和装置
CN108600180A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230705

Address after: 710000 G1-623, 7th Floor, Xixian Talent Building, Century Avenue, Fengdong New City, Xi'an City, Shaanxi Province

Patentee after: Xi'an Youdian Information Technology Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right