一种数据保护方法、装置及电子设备制造方法及图纸

技术编号:18165966 阅读:42 留言:0更新日期:2018-06-09 11:44
本发明专利技术实施例公开了一种数据保护方法、装置及电子设备。本发明专利技术实施例方法包括:在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在EXE文件中编写捕获异常的异常处理函数;在EXE文件中注册异常处理函数;在至少一个DLL文件被调用时,利用该产生异常的代码模块产生异常,若DLL文件为目标应用程序调用,利用异常处理函数捕获异常,对异常进行修正,若DLL文件非目标应用程序调用,不对异常进行调整修正。本发明专利技术实施例中通过在应用程序的DLL文件中故意编码产生错误异常,而在EXE文件中则会捕获异常,对异常进行修正,使得应用程序仍可以正常运行,避免了第三方对应用程序的盗用,提升了应用程序的安全性。

A data protection method, device, and electronic equipment

The embodiment of the invention discloses a data protection method, a device and an electronic device. The embodiments of the invention include writing an exception code module in at least one DLL file in the target application; writing an exception handling function in the EXE file; registering an exception processing function in the EXE file; using the code module that produces the exception when at least one DLL file is called. Exceptions, if the DLL file is the target application call, the exception is captured by the exception processing function, and the exception is corrected. If the DLL file is not called by the target application, the exception is not adjusted and corrected. In the embodiment of the invention, error abnormality is generated by intentional coding in the DLL file of the application, while the exception is captured in the EXE file, and the exception is modified to make the application still run normally, avoiding the embezzlement of the third party to the application and improving the security of the application.

【技术实现步骤摘要】
一种数据保护方法、装置及电子设备
本专利技术涉及计算机
,特别涉及一种数据保护方法、装置及电子设备。
技术介绍
目前,对于Windows软件开发,会拆分成多个模块来完成,一个模块则是一个动态链接库文件((DynamicLinkLibrary,DLL)文件,这样既有利于代码共享和分工,又可以将功能尽可能的拆分,减少代码耦合度。因此一个软件的组成则由一个可执行程序(executableprogram,EXE)文件和多个DLL文件组成。例如将软件中使用的所有的加密解密算法功能封装到一个独立的DLL文件中,例如将所有网络相关的功能封装到一个独立的DLL文件中,例如将日志功能封装到一个独立的DLL文件中。上述软件开发方式虽然有利于代码共享和分工,减少代码耦合度,但同时也会带来一个问题,具体则是在软件发布时,这些DLL文件会随软件一起发布,第三方则可以很容易的从软件的安装目录获取到这些DLL文件,从而也可以调用这些DLL文件的提供的方法,这样软件容易被黑客所破解,从而可能对软件开发商和用户造成难以估量的损失。
技术实现思路
本专利技术实施例提供了一种数据保护方法、装置及电子设备,以解决目前应用程序的DLL文件容易被黑客获取破解,可能对软件开发商和用户造成难以估量的损失的问题。第一方面,本申请提供了一种数据保护方法,该方法包括:在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数;在所述目标应用程序的EXE文件中注册异常处理函数;在所述至少一个DLL文件被调用时,利用所述代码模块产生异常,若为所述目标应用程序调用,则利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,若非所述所述目标应用程序调用,则不对所述异常进行调整修正。进一步的,所述在目标应用程序的至少一个DLL文件中编写产生异常的代码模块,包括:在所述至少一个DLL文件的核心功能函数中,添加一个标记变量和一个异常除0的变量,所述标记变量用来标记当前DLL文件是否产生了异常,所述异常除0的变量用于产生一个除0的异常。进一步的,所述标记变量在当前DLL文件编写产生异常的代码模块之前置位为1,在当前DLL文件的核心功能函数执行完成时置位为0。进一步的,所述异常除0变量初始值设置为0;所述利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,包括:当利用所述异常处理函数捕获函数捕获到所述异常时,则将所述异常除0变量置位为1。进一步的,所述在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数,包括:在所述EXE文件中定义所述异常处理函数,所述异常处理函数中定义了处理的异常类型信息,所述异常类型信息为除0异常。第二方面,本申请提供一种数据保护装置,该装置包括:第一编写模块,用于在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;第二编写模块,用于在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数;注册模块,用于在所述目标应用程序的EXE文件中注册异常处理函数;调整模块,用于在所述至少一个DLL文件被调用时,利用所述代码模块产生异常,若为所述目标应用程序调用,则利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,若非所述所述目标应用程序调用,则不对所述异常进行调整修正。进一步的,所述第一编写模块具体用于:在所述至少一个DLL文件的核心功能函数中,添加一个标记变量和一个异常除0的变量,所述标记变量用来标记当前DLL文件是否产生了异常,所述异常除0的变量用于产生一个除0的异常。进一步的,所述标记变量在当前DLL文件编写产生异常的代码模块之前置位为1,在当前DLL文件的核心功能函数执行完成时置位为0。进一步的,所述异常除0变量初始值设置为0;所述调整模块具体用于:当利用所述异常处理函数捕获函数捕获到所述异常时,则将所述异常除0变量置位为1。进一步的,所述第二编写模块具体用于:在所述EXE文件中定义所述异常处理函数,所述异常处理函数中定义了处理的异常类型信息,以及在捕获异常时调用所述生成dump文件的功能函数,所述异常类型信息为除0异常。第三方面,本专利技术还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。第四方面,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。本专利技术实施例通过在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在目标应用程序的EXE文件中编写捕获异常的异常处理函数;在目标应用程序的EXE文件中注册异常处理函数;在至少一个DLL文件被调用时,利用该产生异常的代码模块产生异常,若DLL文件为目标应用程序调用,则利用异常处理函数捕获异常,并对异常进行调整修正,若DLL文件非目标应用程序调用,则不对异常进行调整修正。本专利技术实施例中通过在应用程序的DLL文件中故意编码产生错误异常,而在应用程序的主程序EXE文件中则会捕获异常,并对异常进行修正,使得应用程序仍可以正常的运行。而对于将DLL文件拿走直接使用的第三方,并没有主程序EXE的功能,那么在使用时会产生异常,导致程序崩溃,从而无法使用该DLL文件的功能,从而达到了对DLL文件进行保护的效果,同时由于捕获处理异常是在EXE文件中,从而使得其更为隐蔽,难以被黑客所破解,进一步提升了应用程序的安全性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例中数据保护方法的一个实施例示意图;图2是本专利技术实施例数据保护方法的另一个实施例示意图;图3是本专利技术实施例数据保护装置的一个实施例示意图;图4是本专利技术实施例中电子设备的一个实施例示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术实施例中数据保护方法应用于数据保护装置,该装置位于电子设备中,本实施例中该电子设备系统为Windows系统,该电子设本文档来自技高网
...
一种数据保护方法、装置及电子设备

【技术保护点】
一种数据保护方法,其特征在于,所述方法包括:在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数;在所述目标应用程序的EXE文件中注册异常处理函数;在所述至少一个DLL文件被调用时,利用所述代码模块产生异常,若为所述目标应用程序调用,则利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,若非所述所述目标应用程序调用,则不对所述异常进行调整修正。

【技术特征摘要】
1.一种数据保护方法,其特征在于,所述方法包括:在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数;在所述目标应用程序的EXE文件中注册异常处理函数;在所述至少一个DLL文件被调用时,利用所述代码模块产生异常,若为所述目标应用程序调用,则利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,若非所述所述目标应用程序调用,则不对所述异常进行调整修正。2.根据权利要求1所述的方法,其特征在于,所述在目标应用程序的至少一个DLL文件中编写产生异常的代码模块,包括:在所述至少一个DLL文件的核心功能函数中,添加一个标记变量和一个异常除0的变量,所述标记变量用来标记当前DLL文件是否产生了异常,所述异常除0的变量用于产生一个除0的异常。3.根据权利要求2所述的方法,其特征在于,所述标记变量在当前DLL文件编写产生异常的代码模块之前置位为1,在当前DLL文件的核心功能函数执行完成时置位为0。4.根据权利要求2所述的方法,其特征在于,所述异常除0变量初始值设置为0;所述利用所述异常处理函数捕获所述异常,并对所述异常进行调整修正,包括:当利用所述异常处理函数捕获函数捕获到所述异常时,则将所述异常除0变量置位为1。5.根据权利要求1所述的方法,其特征在于,所述在所述目标应用程序的EXE文件中编写捕获异常的异常处理函数,包括:在所述EXE文件中定义所述异常处理函数,所述异常处理函数中定义了处理的异常类...

【专利技术属性】
技术研发人员:周志刚陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1