一种用于生成和运行so文件的方法与设备技术

技术编号:27655089 阅读:144 留言:0更新日期:2021-03-12 14:16
本申请的目的是提供一种用于生成和运行so文件的方法和设备,包括:读取待处理的原so文件,并对所述原so文件执行加密操作以生成第二文件获取第一文件,其中,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;将所述第一文件与第二文件进行打包,以生成目标so文件。本申请可以对so库本身加层,从而使得调用so库时,so库的安全性有保证。

【技术实现步骤摘要】
一种用于生成和运行so文件的方法与设备
本申请涉及通信领域,尤其涉及一种用于生成和运行so文件的技术。
技术介绍
随着社会的发展,各种智能设备已经成为人们生活和工作中不可或缺的电子设备。现有的智能设备中广泛使用安卓(Android)操作系统,由于安卓系统为开源系统,安卓系统的源代码是面向用户开放的。在遵守GNU协议的前提下,任何人都可以免费使用,随意控制软件的运行方式,这就容易导致安卓应用程序中的核心代码容易被他人获取。SO库文件是Linux下动态链接库,相比DEX文件,SO文件安全性更高,反编译难度更大。大多数Android的开发者喜欢把核心算法、重要协议等放在SO库文件中,因此保护SO是Android安全保护的核心。
技术实现思路
本申请的一个目的是提供一种用于生成和运行so文件的方法与设备。根据本申请的一个方面,提供了一种用于生成so文件的方法,应用于第一用户设备,该方法包括:读取待处理的原so文件,并对所述原so文件执行加密操作以生成第二文件;获取第一文件,其中,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;将所述第一文件与第二文件进行打包,以生成目标so文件。根据本申请的另一个方面,提供了一种用于运行so文件的方法,应用于第二用户设备,该方法包括:获取目标应用的应用安装包,其中,所述应用安装包的安装目录中包括目标so文件,所述目标so文件包括第一文件与第二文件,其中,所述第二文件是将一原so文件执行加密操作后生成的,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;安装所述目标应用并执行运行所述目标应用的操作。根据本申请的一个方面,提供了一种用于生成so文件的第一用户设备,该设备包括:一一模块,用于读取待处理的原so文件,并对所述原so文件执行加密操作以生成第二文件;一二模块,用于获取第一文件,其中,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;一三模块,用于将所述第一文件与第二文件进行打包,以生成目标so文件。根据本申请的一个方面,提供了一种用于运行so文件的第二用户设备,该设备包括:二一模块,用于获取目标应用的应用安装包,其中,所述应用安装包的安装目录中包括目标so文件,所述目标so文件包括第一文件与第二文件,其中,所述第二文件是将一原so文件执行加密操作后生成的,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;二二模块,用于安装所述目标应用并执行运行所述目标应用的操作。根据本申请的一个方面,提供了一种用于生成和运行so文件的设备,该设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。根据本申请的另一个方面,提供了存储指令的计算机可读介质,所述指令在被执行时使得系统进行如上所述任一方法的操作。与现有技术相比,本申请中通过对so原文件进行加密,以及对so库本身加层,以使得java层调用so库中的函数时必须先经过该层,从而有效地隐藏了so库的接口,保护了so库中的内容,并且,本申请在so库加固的过程中注入各种风险检测的代码,以达到防止so库被破解,保护so库安全、从而到达反爬取的目的。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个实施例的一种用于生成so文件的方法流程图,应用于第一用户设备;图2示出根据本申请又一个实施例的一种用于生成so文件的方法流程图;图3示出根据本申请又一个实施例的一种用于运行so文件的方法流程图,应用于第二用户设备;图4示出根据本申请另一个实施例的一种用于运行so文件的方法流程图;图5示出根据本申请一个实施例的一种用于生成so文件的第一用户设备的设备示意图;图6示出根据本申请一个实施例的一种用于运行so文件的第二用户设备的设备示意图;图7示出可被用于实施本专利技术中所述各个实施例的示例性系统。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网本文档来自技高网...

【技术保护点】
1.一种用于生成so文件的方法,应用于第一用户设备,其中,该方法包括:/n读取待处理的原so文件,并对所述原so文件执行加密操作以生成第二文件;/n获取第一文件,其中,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;/n将所述第一文件与第二文件进行打包,以生成目标so文件。/n

【技术特征摘要】
1.一种用于生成so文件的方法,应用于第一用户设备,其中,该方法包括:
读取待处理的原so文件,并对所述原so文件执行加密操作以生成第二文件;
获取第一文件,其中,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;
将所述第一文件与第二文件进行打包,以生成目标so文件。


2.根据权利要求1所述的方法,其中,所述读取待处理的原so文件包括:
调用C语言的第一函数以读取待处理的原so文件。


3.根据权利要求1或2所述的方法,其中,所述对所述原so文件执行加密操作以生成第二文件,包括:
读取所述原so文件中的一个或者多个字节;
对所述一个或者多个字节中每个字节执行幂运算,以生成第二文件。


4.根据权利要求1所述的方法,所述目标函数还用于启动目标业务线程,其中,所述目标业务线程用于实现模拟器环境监测,以及实现调试状态检测。


5.一种用于运行so文件的方法,应用于第二用户设备,其中,该方法包括:
获取目标应用的应用安装包,其中,所述应用安装包的安装目录中包括目标so文件,所述目标so文件包括第一文件与第二文件,其中,所述第二文件是将一原so文件执行加密操作后生成的,所述第一文件包括目标函数,所述目标函数用于实现第一功能以及第二功能,其中,所述第一功能包括解码所述第二文件以获得所述原so文件,所述第二功能包括动态注册所述原so文件中的native函数接口;
安装所述目标应用并执行运行所述目标应用的操作。


6.根据...

【专利技术属性】
技术研发人员:胡其斌
申请(专利权)人:上海连尚网络科技有限公司
类型:发明
国别省市:上海;31

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

1