一种保护模块文件的方法及客户端技术

技术编号:16282729 阅读:41 留言:0更新日期:2017-09-23 02:13
本发明专利技术提供了一种保护模块文件的方法及客户端,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的;如此,将模块文件伪装成数据文件保存,进一步提高了模块文件的隐蔽性,增强对模块文件的保护力度,使得模块文件不能轻易被盗用;并且,利用加密算法对模块文件加密后,只有合法的客户端才能接收到密钥信息,即使第三方或者黑客盗取到该模块文件,也无法直接使用,进而确保了软件开发商的利益。

Method and client for protecting module file

The invention provides a method for protecting the module file and the client, the method comprises the following steps: according to preset file name lookup module file after encryption; the module file read to find; receive key information to decrypt the file module the key information based on acquiring the plaintext module file among them, the module file information; the encrypted data is in the form of the file to save; so, the module file disguised as a data file, to further improve the module file concealment, enhanced protection of the module file, the module file cannot be easily stolen; and encryption algorithm based on the module file encrypted using, only legitimate clients can receive the key information, even if the third party or hackers to steal into the module file is not directly Use, thereby ensuring the interests of software developers.

【技术实现步骤摘要】
一种保护模块文件的方法及客户端
本专利技术属于通信
,尤其涉及一种保护模块文件的方法及客户端。
技术介绍
目前,软件开发过程中通常会采用模块化开发,将软件的功能进行模块化拆分,不同的模块负责不同的功能。同时在设计模块时尽可能的使得模块松耦合,使得模块能够独立使用,从而给模块的使用者提供了极大的方便。当程序发布时,程序主框架则会加载一个个独立的模块来实现整个程序的功能。对于Windows客户端来说,程序则是一个动态链接库文件(DLL,DynamicLinkLibrary)。由于在程序发布到客户端后,使用者可以从客户端的安装目录中获取到一个个独立的DLL文件,那么对于第三方或者HACK也可以很方便的获取到所有的模块文件并进行使用,这样就导致一些核心模块中的核心函数被盗用,进而损坏了软件开发商的利益。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供了一种保护核心模块的方法及客户端,用于解决现有技术中在程序发布后,一些核心程序模块中的核心函数容易被第三方或者黑客盗用,导致软件开发商的利益被损坏的技术问题。本专利技术提供一种保护模块文件的方法,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的。上述方案中,所述读取查找到的所述模块文件,包括:利用函数fopen(“xx”,“rb”)打开所述模块文件;获取所述模块文件的占用内存;调用函数fread(buff,filesize,1,file)读取所述模块文件至系统内存中,并将所述模块文件存储至缓存buff中;其中,所述xx为模块文件名。上述方案中,基于密钥信息对所述模块文件进行解密之前,还包括:利用解压缩函数Zlib.decompress(buff,filesize)对读取到的所述模块文件进行解压缩。上述方案中,所述基于密钥信息对所述模块文件进行解密,包括:向服务器发送密钥请求信息,使得所述服务器基于用户注册ID返回所述密钥信息;据所述密钥信息在所述模块文件的密文信息中提取出附加信息;将所述密钥信息与所述附加信息进行组合形成一组合密钥;利用所述组合密钥将所述密文信息转换成相应的明文信息。上述方案中,所述基于密钥信息对所述模块文件进行解密,包括:接收图像信息,从所述图像信息中读取至少一组颜色值,所述图像信息为对所述模块文件进行加密的加密结果;根据第二转换规则将所述至少一组颜色值转换为数字信息;将所述数字信息转换为字符编码;将所述字符编码转换所述明文信息。上述方案中,从所述图像中读取至少一组颜色值包括:接收混淆数值,根据所述混淆数值确定的随机生成的混淆色块的数量;基于混淆算法确定所述混淆色块在所述图像中的写入位置;确定写入所述颜色值的第一基准点;以所述第一基准点为起始位置遍历所述图像,在遍历过程中,基于所述混淆色块的数量及在所述混淆色块在所述图像中的写入位置跳过所述混淆色块,读取所述至少一组颜色值。上述方案中,所述根据第二转换规则将相所述至少一组颜色值转换为数字信息,包括:确定每种颜色对应的最大阶层,根据公式A=(B*C+G)*C+R确定所述数字信息的数值A;其中,所述每种颜色对应的最大阶层相同,所述R为红色,所述G为绿色,所述B为蓝色,所述C为所述每种颜色对应的最大阶层。上述方案中,所述基于密钥信息对所述模块文件进行解密,包括:接收音频信息,从所述音频信息中读取至少一种音频码,所述音频信息为对所述模块文件进行加密的加密结果;根据第三转换规则将所述至少一组音频码转换为所述明文信息。上述方案中,所述从音频信息中读取至少一种音频码,包括:读取音频数据,获取所述音频的频率队列;遍历所述频率队列,获取第一频率及第二频率;将所述第一频率转换为第一音频编码,将所述第二频率转换为第二音频编码;根据所述第一音频编码及所述第二音频编码确定相应的音频编码;将所述音频编码进行组合获取所述至少一组音频码。本专利技术还提供一种客户端,所述客户端包括:查找单元,用于根据预设的文件名查找加密后的模块文件;读取单元,用于读取查找到的所述模块文件;解密单元,用于接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的。本专利技术提供了一种保护模块文件的方法及客户端,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的;如此,将模块文件伪装成数据文件保存,进一步提高了模块文件的隐蔽性,增强对模块文件的保护力度,使得模块文件不能轻易被盗用;并且,利用加密算法对模块文件加密后,只有合法的客户端才能接收到密钥信息,即使第三方或者黑客盗取到该模块文件,也无法直接使用,进而确保了软件开发商的利益。附图说明图1为本专利技术实施例一提供的保护模块文件的方法流程示意图;图2为本专利技术实施例二提供的保护模块文件的装置结构示意图。具体实施方式为了解决核心程序模块中的核心函数容易被第三方或者黑客盗用,导致软件开发商的利益被损坏的技术问题,本专利技术提供了一种保护模块文件的方法及客户端,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的。下面通过附图及具体实施例对本专利技术的技术方案做进一步的详细说明。实施例一本实施例提供一种保护模块文件的方法,如图1所示,所述方法包括:S101,根据预设的文件名查找加密后的模块文件。本步骤中,为了提高模块文件的隐蔽性,所述加密后的模块文件是调用文件读写库函数将模块文件的内存数据保存至磁盘等存储介质中的,比如写入“xx.data”的文件夹中,因此在查找模块文件时,可以根据预设的文件名查找加密后的模块文件。所述预设的文件名即为“xx.data”。S102,读取查找到的所述模块文件。本步骤中,当根据预设的文件名查找到模块文件之后,读取所述模块文件至系统内存,具体地:首先调用系统库函数fopen(“xx”,“rb”)打开所述模块文件;其中,所述“xx”为模块文件名,所述“rb”为读取文件。读取到模块文件之后,将文件指针移动至所述模块文件的尾部,获取所述模块文件的占用内存,具体程序实现如下:fseek(file,0,SEEK_END);uintfilesize=ftell(file);当获取到所述模块文件的占用内存后,调用函数fread(buff,filesize,1,file)读取所述模块文件至系统内存中,并将所述模块文件存储至缓存buff中。当读取到模块文件的内容后,因加密时为了降低模块文件的占用内存,是将模块文件压缩了,因此,本步骤中还需利用解压缩函数Zlib.decompress(buff,filesize)对读取到的所述模块文件进行解压缩,以还原模块文件的原始文件。S103,接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块本文档来自技高网...
一种保护模块文件的方法及客户端

【技术保护点】
一种保护模块文件的方法,其特征在于,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的。

【技术特征摘要】
1.一种保护模块文件的方法,其特征在于,所述方法包括:根据预设的文件名查找加密后的模块文件;读取查找到的所述模块文件;接收密钥信息,基于所述密钥信息对所述模块文件进行解密,获取所述模块文件的明文信息;其中,所述加密后的模块文件是以数据文件的形式进行保存的。2.如权利要求1所述的方法,其特征在于,所述读取查找到的所述模块文件,包括:利用函数fopen(“xx”,“rb”)打开所述模块文件;获取所述模块文件的占用内存;调用函数fread(buff,filesize,1,file)读取所述模块文件至系统内存中,并将所述模块文件存储至缓存buff中;其中,所述xx为模块文件名。3.如权利要求1所述的方法,其特征在于,基于密钥信息对所述模块文件进行解密之前,还包括:利用解压缩函数Zlib.decompress(buff,filesize)对读取到的所述模块文件进行解压缩。4.如权利要求1所述的方法,其特征在于,所述基于密钥信息对所述模块文件进行解密,包括:向服务器发送密钥请求信息,使得所述服务器基于用户注册ID返回所述密钥信息;据所述密钥信息在所述模块文件的密文信息中提取出附加信息;将所述密钥信息与所述附加信息进行组合形成一组合密钥;利用所述组合密钥将所述密文信息转换成相应的明文信息。5.如权利要求1所述的方法,其特征在于,所述基于密钥信息对所述模块文件进行解密,包括:接收图像信息,从所述图像信息中读取至少一组颜色值,所述图像信息为对所述模块文件进行加密的加密结果;根据第二转换规则将所述至少一组颜色值转换为数字信息;将所述数字信息转换为字符编码;将所述字符编码转换所述明文信息。6.如权利要求5所述的方法,其特征在于,从所述图像中读取至少一组颜色值包括:接收...

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

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

1