一种安卓SO文件的保护方法及装置制造方法及图纸

技术编号:16282741 阅读:33 留言:0更新日期:2017-09-23 02:14
本发明专利技术公开一种安卓SO文件的保护方法及装置,该方法包括:当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;对所述环境信息进行加密;发送加密后的所述环境信息至服务器;当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。本申请提供的方法和装置可以解决现有技术中SO文件容易被轻易获取和盗用,存在的安全性低的技术问题。实现了提高SO文件的安全性的技术效果。

Method and device for protecting Android SO file

The invention discloses a method and a device for protecting a Android SO file, the method includes: when the application loads the SO file, the SO file to run the acquisition of environmental information, among them, the file SO is encrypted; the environment information is encrypted; sends the encrypted information to the server environment when receiving the server; the environment information encrypted return based key, key based on the decryption and call the SO file. The method and the device provided by the utility model can solve the technical problems that the SO document in the prior art is easy to obtain and steal, and the existing security is low. The technical effect of improving the security of SO file is realized.

【技术实现步骤摘要】
一种安卓SO文件的保护方法及装置
本专利技术涉及计算机
,尤其涉及一种安卓(Andriod)SO文件的保护方法及装置。
技术介绍
随着移动设备的日益普及,移动应用产业尤其是Andriod应用得到飞速的发展,相应的,其开发模式和代码框架也都发生了巨大的变化。由于程序的功能日益丰富,为了节约开发时间,模块化开发已经成为一种开发趋势,且Android系统也提供独立模块的文件以及独立模块的加载和使用方式。独立的模块文件称为SO文件,该文件可以使用C或者C++语言开发。模块开发者为了保障程序的可用性和易用性,往往会将SO文件的接口设计的更为简洁和好用。在Android程序发布时,独立的SO文件会随之一同发布到用户的终端中,任何人就可以轻易的获取到所有的SO文件,并且通过分析轻易的获取SO文件的所有接口,从而可以将该SO文件使用到自己的Android程序中,以盗取该SO文件程序开发厂商的研发成果。目前,急需一种SO文件的保护方法,来防止其他人员直接盗用厂商辛苦开发出的SO文件。可见,现有技术中SO文件容易被轻易获取和盗用,存在安全性低的技术问题。
技术实现思路
本专利技术提供一种安卓SO文件的保护方法及装置,用以解决现有技术中SO文件容易被轻易获取和盗用,存在的安全性低的技术问题。一方面,本专利技术提供了一种安卓SO文件的保护方法,包括:当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;对所述环境信息进行加密;发送加密后的所述环境信息至服务器;当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。可选的,所述SO文件中加密的数据包括:常量数据和/或表格数据。可选的,所述获取所述应用程序中SO文件运行的环境信息,包括:调用SO文件的初始化函数;基于所述初始化函数,获取所述SO文件的运行的环境信息,所述环境信息包括以下任意一种或多种的组合:所述SO文件的加载内存地址范围、当前内存段的权限或所述SO文件的路径名称。可选的,所述对所述环境信息进行加密,包括:获取所述应用程序的程序包名称;基于所述程序包名称,对所述环境信息进行加密。可选的,所述基于所述程序包名称,对所述环境信息进行加密,包括:计算所述程序包名称的MD5值;基于所述MD5值,对所述环境信息进行加密。可选的,在所述发送加密后的所述环境信息至服务器后,还包括:当没有接收到所述服务器基于加密后的所述环境信息返回的密钥时,退出对所述SO文件的调用。另一方面,提供一种安卓SO文件的保护方法,包括:接收客户端发送的加密后的环境信息,其中,所述环境信息用于表征应用程序加载的SO文件的运行环境;判断所述加密后的环境信息是否符合预设要求;当所述加密后的环境信息符合预设要求时,发送密钥至所述客户端,以使所述客户端能基于所述密钥,解密并调用所述SO文件。可选的,所述判断所述加密后的环境信息是否符合预设要求,包括以下任意一种或多种的组合:判断是否能通过预设应用程序的程序包名称,对所述加密后的环境信息进行解密;或者判断所述环境信息中表征的SO文件的类型是否满足预设类型要求;或者判断所述环境信息中表征的SO文件的参数是否满足预设参数要求。再一方面,提供一种安卓SO文件的保护装置,所述装置为客户端,包括:获取模块,用于当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;加密模块,用于对所述环境信息进行加密;第一发送模块,用于发送加密后的所述环境信息至服务器;解密模块,用于当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。再一方面,提供一种安卓SO文件的保护装置,所述装置为服务器,包括:接收模块,用于接收客户端发送的加密后的环境信息,其中,所述环境信息用于表征应用程序加载的SO文件的运行环境;判断模块,用于判断所述加密后的环境信息是否符合预设要求;第二发送模块,用于当所述加密后的环境信息符合预设要求时,发送密钥至所述客户端,以使所述客户端能基于所述密钥,解密并调用所述SO文件。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例提供的方法及装置,预先对SO文件进行加密,并设置在客户端的应用程序加载SO文件时,需要先获取所述SO文件运行的环境信息,并将加密后的所述环境信息发送至服务器,以供服务器根据所述环境信息来判断是否允许所述应用程序调用该SO文件,只有收到服务器返回的密钥后,客户端才能根据密钥解密并调用所述SO文件,以避免了不符合要求的应用程序对SO文件的盗用,有效提高了SO文件的安全性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中安卓SO文件的保护方法的流程图一;图2为本专利技术实施例中安卓SO文件的保护方法的流程图二;图3为本专利技术实施例中安卓SO文件的保护装置的结构示意图一;图4为本专利技术实施例中安卓SO文件的保护装置的结构示意图二。具体实施方式本申请实施例通过提供一种安卓SO文件的保护方法及装置,用以解决现有技术中SO文件容易被轻易获取和盗用,存在的安全性低的技术问题。实现了提高SO文件的安全性的技术效果。本申请实施例中的技术方案,总体思路如下:当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;对所述环境信息进行加密;发送加密后的所述环境信息至服务器;当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。上述方法通过预先对SO文件进行加密,并设置在客户端的应用程序加载SO文件时,需要先获取所述SO文件运行的环境信息,并将加密后的所述环境信息发送至服务器,以供服务器根据所述环境信息来判断是否允许所述应用程序调用该SO文件,只有收到服务器返回的密钥后,客户端才能根据密钥解密并调用所述SO文件,以避免了不符合要求的应用程序对SO文件的盗用,有效提高了SO文件的安全性。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本实施例提供一种安卓SO文件的保护方法,如图1所示,该方法包括:步骤S101,当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;步骤S102,对所述环境信息进行加密;步骤S103,发送加密后的所述环境信息至服务器;步骤S104,当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调本文档来自技高网...
一种安卓SO文件的保护方法及装置

【技术保护点】
一种安卓SO文件的保护方法,其特征在于,包括:当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;对所述环境信息进行加密;发送加密后的所述环境信息至服务器;当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。

【技术特征摘要】
1.一种安卓SO文件的保护方法,其特征在于,包括:当应用程序加载SO文件时,获取所述SO文件运行的环境信息,其中,所述SO文件为加密文件;对所述环境信息进行加密;发送加密后的所述环境信息至服务器;当接收到所述服务器基于加密后的所述环境信息返回的密钥时,基于所述密钥,解密并调用所述SO文件。2.如权利要求1所述的方法,其特征在于,所述SO文件中加密的数据包括:常量数据和/或表格数据。3.如权利要求1所述的方法,其特征在于,所述获取所述SO文件运行的环境信息,包括:调用SO文件的初始化函数;基于所述初始化函数,获取所述SO文件的运行的环境信息,所述环境信息包括以下任意一种或多种的组合:所述SO文件的加载内存地址范围、当前内存段的权限或所述SO文件的路径名称。4.如权利要求1所述的方法,其特征在于,所述对所述环境信息进行加密,包括:获取所述应用程序的程序包名称;基于所述程序包名称,对所述环境信息进行加密。5.如权利要求4所述的方法,其特征在于,所述基于所述程序包名称,对所述环境信息进行加密,包括:计算所述程序包名称的MD5值;基于所述MD5值,对所述环境信息进行加密。6.如权利要求1-5任一所述的方法,其特征在于,在所述发送加密后的所述环境信息至服务器后,还包括:当没有接收到所述服务器基于加密后的所述环境信息返回的密钥时,退出对所述SO文件的调用。7.一种安卓SO文件的保护方法,其特征在于,包括:接收客户端发送的加密后的环境信息,其中,所述...

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

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

1