[发明专利]一种数据保护方法、装置及电子设备有效
申请号: | 201810028026.5 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108133149B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 周志刚;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/12;G06F21/56 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 保护 方法 装置 电子设备 | ||
本发明实施例公开了一种数据保护方法、装置及电子设备。本发明实施例方法包括:在目标应用程序的至少一个DLL文件中编写产生异常的代码模块;在EXE文件中编写捕获异常的异常处理函数;在EXE文件中注册异常处理函数;在至少一个DLL文件被调用时,利用该产生异常的代码模块产生异常,若DLL文件为目标应用程序调用,利用异常处理函数捕获异常,对异常进行修正,若DLL文件非目标应用程序调用,不对异常进行调整修正。本发明实施例中通过在应用程序的DLL文件中故意编码产生错误异常,而在EXE文件中则会捕获异常,对异常进行修正,使得应用程序仍可以正常运行,避免了第三方对应用程序的盗用,提升了应用程序的安全性。
技术领域
本发明涉及计算机技术领域,特别涉及一种数据保护方法、装置及电子设备。
背景技术
目前,对于Windows软件开发,会拆分成多个模块来完成,一个模块则是一个动态链接库文件((Dynamic Link Library,DLL)文件,这样既有利于代码共享和分工,又可以将功能尽可能的拆分,减少代码耦合度。因此一个软件的组成则由一个可执行程序(executable program,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异常。
第二方面,本申请提供一种数据保护装置,该装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810028026.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置