应用程序加固保护方法、装置及移动终端制造方法及图纸

技术编号:12168509 阅读:103 留言:0更新日期:2015-10-08 02:44
本发明专利技术提供一种应用程序加固保护方法,包括以下步骤:判断应用程序对应的系统版本中是否存在预设的兼容接口函数;如果存在,则由加固程序调用预设的兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第一类型的加固安装包;如果不存在,则由加固程序调用非兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第二类型的加固安装包。同时,本发明专利技术还提供一种应用程序加固装置以及移动终端。本发明专利技术所述方法及装置可以对不同系统版本的应用程序进行加固,使得加固后的应用程序兼容其相应的系统版本,解决加固后应用程序和系统之间的兼容性问题。

【技术实现步骤摘要】

本专利技术涉及应用程序安全领域,具体而言,本专利技术涉及一种应用程序加固保护方法、装置及移动终端
技术介绍
目前国内第三方应用市场山寨应用、恶意应用等问题严重。对于一些优秀的应用程序,除了盗版和山寨的问题以外,还存在被破解、二次打包、数据篡改、注入等问题,由此给应用程序的开发者带来很大损失,亟待需要有效的解决方案以防止上述问题的发生。现有技术为了保护应用程序,提供加固程序对原有的应用程序进行加固,从而为移动应用提供安全保护,防止应用被逆向分析、反编译、二次打包,防止嵌入各类病毒、广告等恶意代码,从源头保护数据安全和开发者利益。然而,目前大多数的移动设备的系统都是安卓系统,但由于不同移动设备的厂商为了定制自己的操作系统,对安卓系统做修改,使得不同移动设备的操作系统存在差异,造成安卓系统的碎片化,从而使现有的加固程序生成的加固后应用程序不能同时兼容多种版本的系统,造成加固后程序应用运行崩溃。而开发多种版本的加固程序以兼容多种版本的系统不仅浪费很多资源,且后期的维护更新很复杂。故而,需要提供一种通用的加固程序,使得加固后应用程序可以兼容不同版本的系统,正常运行于不同版本的操作系统的移动设备。
技术实现思路
本专利技术的目的旨在解决上述至少一个问题,提供一种应用程序加固保护方法、装置及移动终端。为了实现上述目的,本专利技术一种应用程序加固保护方法,包括以下步骤:判断应用程序对应的系统版本中是否存在预设的兼容接口函数;如果存在,则由加固程序调用预设的兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第一类型的加固安装包;如果不存在,则由加固程序调用非兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第二类型的加固安装包。具体的,所述预设的兼容接口包括用于获取DEX文件在内存中的加载地址的接口函数。具体的,所述预设的兼容接口包括用于从内存中加载DEX文件的接口函数。具体的,所述预设的兼容接口包括用于从内存中加载OAT文件的接口函数。具体的,所述预设的兼容接口包括用于将内存中的DEX文件转换为OAT文件的接口函数。具体的,具体通过判断是否存在属性property而确定是否存在预设的兼容接口以及兼容接口的版本号。具体的,所述property 的名称为 r0.magic, ap1.vers1n。具体的,所述非兼容接口函数具体指与所述系统版本相匹配的用于实现加固处理的系统接口函数。进一步的,所述执行的加固处理步骤如下:获取应用程序的安装包;反编译所述安装包,提取需要保护的代码,并将提取位置用NOP填充;依据指定的加解密策略对提取的需要保护的代码进行加密处理,生成加固配置文件;将所述加解密策略、加固配置文件和加固程序添加到反编译后的安装包中,编译生成加固安装包。可选的,所述指定的加解密策略包括如下中的一种或多种:反调试策略、反Dump策略、反重打包策略、字符串加解密策略。进一步的,在生成加固安装包之后,对所述加固安装包进行签名。—种应用程序加固保护装置,包括:判断单元:用于判断应用程序对应的系统版本中是否存在预设的兼容接口函数;第一加固单元:用于调用预设的兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第一类型的加固安装包;第二加固单元:用于调用非兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第二类型的加固安装包。具体的,所述预设的兼容接口包括用于获取DEX文件在内存中的加载地址的接口函数。具体的,所述预设的兼容接口包括用于从内存中加载DEX文件的接口函数。具体的,所述预设的兼容接口包括用于从内存中加载OAT文件的接口函数。具体的,所述预设的兼容接口包括用于将内存中的DEX文件转换为OAT文件的接口函数。具体的,所述判断单元具体通过判断是否存在属性property而确定是否存在预设的兼容接口以及兼容接口的版本号。具体的,所述property 的名称为 r0.magic, ap1.vers1n。具体的,所述非兼容接口函数具体指与所述系统版本相匹配的用于实现加固处理的系统接口函数。进一步的,所述第一加固单元或第二加固单元执行的加固处理步骤如下:获取应用程序的安装包;反编译所述安装包,提取需要保护的代码,并将提取位置用NOP填充;依据指定的加解密策略对提取的需要保护的代码进行加密处理,生成加固配置文件;将所述加解密策略、加固配置文件和加固程序添加到反编译后的安装包中,编译生成加固安装包。可选的,所述指定的加解密策略包括如下中的一种或多种:反调试策略、反Dump策略、反重打包策略、字符串加解密策略。进一步的,还包括签名单元,在生成加固安装包之后,用于对所述加固安装包进行签名。一种移动终端,包括权利要求12-22中任意一项所述的应用程序加固保护装置。相比现有技术,本专利技术的方案具有以下优点:本专利技术在Android系统底层增加用于执行加固处理的函数接口,绕过Android系统上层的虚拟机的一系列监管机制,从而使得加固程序对不同系统版本的应用程序进行加固处理后,加固后应用程序仍然可以在当前系统中正常运行,与当前系统版本完美兼容。由此使加固程序不受系统版本的限制,能够对任意系统版本的应用程序采用兼容接口加固,解决加固后应用程序和系统的兼容性问题,并进一步在现有的加固处理基础上提高了加固效率,给应用程序开发商带来更优质的应用程序加固体验。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。【附图说明】本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术所述应用程序的加固处理流程图;图2为本专利技术所述应用程序加固保护方法的原理示意图;图3为本专利技术一个实施例的应用程序加固方法流程图;图4为本专利技术所述应用程序加固保护装置的结构框图。【具体实施方式】下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。本
技术人员可以理解,这里所使用的“终端”、“终端本文档来自技高网
...
应用程序加固保护方法、装置及移动终端

【技术保护点】
一种应用程序加固保护方法,其特征在于,包括以下步骤:判断应用程序对应的系统版本中是否存在预设的兼容接口函数;如果存在,则由加固程序调用预设的兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第一类型的加固安装包;如果不存在,则由加固程序调用非兼容接口函数对该系统版本的应用程序执行加固处理,以生成应用程序的第二类型的加固安装包。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯成蹊刘敏
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1