一种文件处理方法、设备及计算机可读存储介质技术

技术编号:20917762 阅读:8 留言:0更新日期:2019-04-20 09:57
本发明专利技术提供一种文件处理方法、设备及计算机可读存储介质,涉及数据库技术领域,用以提高SO库的安全性。本发明专利技术的文件处理方法,包括:接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密所述待解密节。本发明专利技术可提高SO库的安全性。

A File Processing Method, Equipment and Computer Readable Storage Media

The invention provides a file processing method, a device and a computer readable storage medium, which relates to the technical field of database to improve the security of SO library. The file processing method of the present invention includes: receiving the hash value of the SO library to be processed sent by the client, in which the section to be decrypted is included; obtaining the corresponding key according to the hash value; and sending the key to the client so that the client can decrypt the section to be decrypted according to the key. The invention can improve the safety of SO library.

【技术实现步骤摘要】
一种文件处理方法、设备及计算机可读存储介质
本专利技术涉及数据库
,尤其涉及一种文件处理方法、设备及计算机可读存储介质。
技术介绍
.so库文件是一种ELF(可执行)文件。ELF文件格式由COFF(CommonObjectFileFormat,通用对象文件格式)格式发展而来,是一种基于段的数据结构。但是,Android系统下SO软件容易被分析、二次打包,从而使得SO库的安全性不高。
技术实现思路
有鉴于此,本专利技术提供一种文件处理方法、设备及计算机可读存储介质,用以提高SO库的安全性。为解决上述技术问题,第一方面,本专利技术实施例提供一种文件处理方法,应用于服务器,包括:接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密所述待解密节。其中,在所述接收客户端发送的待处理SO库的哈希值之前,所述方法还包括:确定所述待处理SO库中的待加密节;对所述待加密节进行加密,并将加密后的待加密节写入所述待处理SO库中;生成写入有所述加密节的待处理SO库的加密信息,并存储所述加密信息。其中,所述确定所述待处理SO库中的待加密节,包括:根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待加密节的开始位置,并获取所述待加密节的大小;根据所述待加密节的开始位置和所述待加密节的大小,获取所述待加密节。其中,所述加密信息为哈希值和密钥对。其中,所述待加密节为能够进行内存映射处理的节。第二方面,本专利技术实施例还提供一种文件处理方法,应用于客户端,包括:获取待处理SO库;从服务器获取所述待处理SO库的解密密钥;确定所述待处理SO库中的待解密节,并利用所述解密密钥对所述待解密节进行解密。其中,所述获取待处理SO库,包括:根据所述待处理SO库的名称查找进程列表文件;根据查找结果,获取所述SO库在进程虚拟空间的地址,获取所述待处理SO库。其中,所述从服务器获取所述待处理SO库的解密密钥,包括:获取所述待处理SO库的哈希值,并向所述服务器发送所述哈希值;接收所述服务器根据所述哈希值发送的解密密钥。其中,所述确定所述待处理SO库中的待解密节,并利用所述解密密钥对所述待解密节进行解密,包括:根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待解密节的开始位置,并获取所述待解密节的大小;根据所述待解密节的开始位置和所述待解密节的大小,获取所述待解密节;利用所述解密密钥对所述待解密节进行解密。其中,在所述利用所述解密密钥对所述待解密节进行解密之前,还包括:获取所述待解密节的权限信息;若根据所述权限信息确定所述待解密节的权限为只读权限,则将所述待解密节的权限修改为可写权限。第三方面,本专利技术实施例提供了一种服务器,包括:收发器和处理器;所述处理器,用于通过所述收发器接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;通过所述收发器向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密所述待解密节;所述收发器,用于在所述处理器的控制下接收和发送数据。其中,所述处理器还用于,确定所述待处理SO库中的待加密节;对所述待加密节进行加密,并将加密后的待加密节写入所述待处理SO库中;生成写入有所述加密节的待处理SO库的加密信息,并存储所述加密信息。其中,所述处理器还用于,根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待加密节的开始位置,并获取所述待加密节的大小;根据所述待加密节的开始位置和所述待加密节的大小,获取所述待加密节。其中,所述加密信息为哈希值和密钥对。其中,所述待加密节为能够进行内存映射处理的节。第四方面,本专利技术实施例提供了一种客户端,包括:收发器和处理器;所述处理器,用于获取待处理SO库;通过所述收发器从服务器获取所述待处理SO库的解密密钥;确定所述待处理SO库中的待解密节,并利用所述解密密钥对所述待解密节进行解密;所述收发器,用于在所述处理器的控制下接收和发送数据。其中,所述处理器还用于,根据所述待处理SO库的名称查找进程列表文件;根据查找结果,获取所述SO库在进程虚拟空间的地址,获取所述待处理SO库。其中,所述处理器还用于,通过所述收发器获取所述待处理SO库的哈希值,并向所述服务器发送所述哈希值;通过所述收发器接收所述服务器根据所述哈希值发送的解密密钥。其中,所述处理器还用于,根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待解密节的开始位置,并获取所述待解密节的大小;根据所述待解密节的开始位置和所述待解密节的大小,获取所述待解密节;利用所述解密密钥对所述待解密节进行解密。其中,所述处理器还用于,获取所述待解密节的权限信息;若根据所述权限信息确定所述待解密节的权限为只读权限,则将所述待解密节的权限修改为可写权限。第五方面,本专利技术实施例提供了一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被处理器执行时实现如第一方面所述的方法中的步骤;或者所述计算机程序被处理器执行时实现如第二方面所述的方法中的步骤。第六方面,本专利技术实施例提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法中的步骤;或者,所述计算机程序被处理器执行时实现如第二方面所述的方法中的步骤。本专利技术的上述技术方案的有益效果如下:在本专利技术实施例中,当客户端需要对待解码节进行解码时,需要从服务器获取对应的解密密钥进行解码。因此,如果没有该解密密钥,客户端则无法对SO库解密,也无法用IDA等工具进行静态逆向分析。因此,利用本专利技术实施例的方案提高了SO库的安全性。附图说明图1为本专利技术实施例的文件处理方法的流程图;图2为可执行文件的结构示意图;图3为ELFHeader的结构示意图;图4为Sectionheadertable的结构示意图;图5为本专利技术实施例的文件处理方法的流程图;图6为本法实施例的SO库操作流程示意图;图7为本专利技术实施例中SO库在内存中运行时的结构示意图;图8为本专利技术实施例服务器的示意图;图9为本专利技术实施例客户端的示意图;图10为本专利技术实施例的电子设备的示意图;图11为本专利技术实施例的电子设备的示意图。具体实施方式下面将结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1所示,本专利技术实施例的文件处理方法,应用于服务器,包括:步骤101、接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节。在本专利技术实施例中,可预先对SO库中的一个或者多个节进行加密。具体的,在加密过程中,确定所述待处理SO库中的待加密节,对所述待加密节进行加密,并将加密后的待加密节写入所述待处理SO库中,生成写入有所述加密节的待处理SO库的加密信息,并存储所述加密信息。对于可执行文件来说,如图2所示,文件开始是ELFHeader字段信息;之后是程序头部表ProgramHeaderTable(可选);之后是各节的内容信息;之后是节头部表(Sectionheadertable)本文档来自技高网...

【技术保护点】
1.一种文件处理方法,其特征在于,应用于服务器,包括:接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密所述待解密节。

【技术特征摘要】
1.一种文件处理方法,其特征在于,应用于服务器,包括:接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密所述待解密节。2.根据权利要求1所述的方法,其特征在于,在所述接收客户端发送的待处理SO库的哈希值之前,所述方法还包括:确定所述待处理SO库中的待加密节;对所述待加密节进行加密,并将加密后的待加密节写入所述待处理SO库中;生成写入有所述加密节的待处理SO库的加密信息,并存储所述加密信息。3.根据权利要求2所述的方法,其特征在于,所述确定所述待处理SO库中的待加密节,包括:根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待加密节的开始位置,并获取所述待加密节的大小;根据所述待加密节的开始位置和所述待加密节的大小,获取所述待加密节。4.根据权利要求2所述的方法,其特征在于,所述加密信息为哈希值和密钥对。5.根据权利要求2所述的方法,其特征在于,所述待加密节为能够进行内存映射处理的节。6.一种文件处理方法,其特征在于,应用于客户端,包括:获取待处理SO库;从服务器获取所述待处理SO库的解密密钥;确定所述待处理SO库中的待解密节,并利用所述解密密钥对所述待解密节进行解密。7.根据权利要求6所述的方法,其特征在于,所述获取待处理SO库,包括:根据所述待处理SO库的名称查找进程列表文件;根据查找结果,获取所述SO库在进程虚拟空间的地址,获取所述待处理SO库。8.根据权利要求6所述的方法,其特征在于,所述从服务器获取所述待处理SO库的解密密钥,包括:获取所述待处理SO库的哈希值,并向所述服务器发送所述哈希值;接收所述服务器根据所述哈希值发送的解密密钥。9.根据权利要求6所述的方法,其特征在于,所述确定所述待处理SO库中的待解密节,并利用所述解密密钥对所述待解密节进行解密,包括:根据所述待处理SO库的ELF头部定位节头部表;根据所述节头部表定位所述待解密节的开始位置,并获取所述待解密节的大小;根据所述待解密节的开始位置和所述待解密节的大小,获取所述待解密节;利用所述解密密钥对所述待解密节进行解密。10.根据权利要求9所述的方法,其特征在于,在所述利用所述解密密钥对所述待解密节进行解密之前,还包括:获取所述待解密节的权限信息;若根据所述权限信息确定所述待解密节的权限为只读权限,则将所述待解密节的权限修改为可写权限。11.一种服务器,其特征在于,包括:收发器和处理器;所述处理器,用于通过所述收发器接收客户端发送的待处理SO库的哈希值,其中,在所述待处理SO库中包括待解密节;根据所述哈希值获取对应的密钥;通过所述收发器向所述客户端发送所述密钥,以使所述客户端根据所述密钥解密...

【专利技术属性】
技术研发人员:石松泉
申请(专利权)人:中国移动通信有限公司研究院中国移动通信集团公司
类型:发明
国别省市:北京,11

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

1