[发明专利]安卓平台应用程序的保护方法、运行方法、装置及系统在审
申请号: | 201410392716.0 | 申请日: | 2014-08-11 |
公开(公告)号: | CN104102860A | 公开(公告)日: | 2014-10-15 |
发明(设计)人: | 刘敦俊 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 王伟锋;刘铁生 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 平台 应用程序 保护 方法 运行 装置 系统 | ||
技术领域
本发明涉及一种计算机领域,特别是涉及一种安卓平台应用程序的保护方法、运行方法、装置及系统。
背景技术
随着安卓Android操作系统的快速升温,各种Android应用程序(Application,简称APP)快速出现在国内移动互联网领域中。然而由于安卓系统的开源性以及市场自身制度的不完善,越来越多的问题也浮现水面,各种APP被破解、反编译APK(Android Package,中文:安卓安装包)、二次打包问题以及用户信息泄露、被恶意扣费等时间屡见不鲜。因此,Android APP的安全以及对安卓加密保护逐渐成为人们所关注的话题。APK中至少包括可执行文件和动态链接库文件(SO文件);而SO文件一般是应用程序里面核心代码块。因此,对于很多开发者来说,对APP做加固保护,最为重要的是对SO库核心代码块的加密。
现有技术中,对软件进行保护通常是进行加壳保护。加壳保护就是在被保护软件中插入一段代码(即壳代码),并将被保护软件的入口点即软件执行的第一条指令指向壳代码,然后把被保护软件的代码和数据通过加密的方式进行保护。经过加壳处理的软件在运行时首先会进入到壳代码中,在壳代码中把被加密的原始代码还原回来,然后再跳转到被保护软件的原始的入口点继续执行。
现有技术中的软件加壳方式都有一个弱点,即加壳被保护软件运行时,在执行完壳代码跳转到被保护软件的原始入口点之后,被保护软件的所有代码和数据都暴露在内存中,通过一些工具就可以很容易的将其转储出来,导致被保护软件容易被破解。
发明内容
鉴于上述问题,提出了本发明以便于提供一种克服上述问题或者至少部分地解决上述问题的安卓平台应用程序的保护方法、运行方法、装置及系统。
依据本发明的第一个方面,提供了一种安卓平台应用程序的保护方法,包括:
获取需要保护的应用程序;
对所述应用程序进行分段处理,生成两个或两个以上的代码段;
对所述两个或两个以上的代码段中的一个或任意多个进行段加密处理;
构建壳程序;
根据所述壳程序,对段加密处理后的所述两个或两个以上的代码段进行加壳处理;
对所述加壳处理后生成的被保护应用程序进行壳加密处理。
可选的,前述的安卓平台应用程序的保护方法,所述应用程序为应用程序安装包中的动态链接库文件。
可选的,前述的安卓平台应用程序的保护方法,其中,所述对所述文件进行分段处理之前,还包括:
对所述应用程序进行数据破坏处理,以使所述数据破坏处理后的所述应用程序与所述数据破坏处理前的所述应用程序具有相同的执行行为;相应的
所述对所述应用程序进行分段处理,具体为:
对所述数据破坏处理后的所述应用程序进行分段处理。
可选的,前述的安卓平台应用程序的保护方法,其中,所述对所述应用程序进行数据破坏处理,包括:
识别所述应用程序中的有效数据信息和无效数据信息;
对所述有效数据信息进行格式处理,以将所述有效数据编译成预设自定义格式的数据信息;
对所述无效数据信息进行删除处理;
其中,所述有效数据为所述应用程序执行过程中所必须的数据,所述无效数据为所述应用程序执行过程中无需使用的数据。
可选的,前述的安卓平台应用程序的保护方法,其中,所述对所述应用程序进行分段处理,生成两个或两个以上的代码段,包括:
根据设定的保护等级参数,确定分段数量;
对所述应用程序进行分段处理,以将所述应用程序划分成所述分段数量的代码段。
可选的,前述的安卓平台应用程序的保护方法,其中,所述对所述应用程序进行分段处理之后,还包括:
根据预设的代码混淆策略,对所述两个或两个以上的代码段进行代码混淆处理;
相应的,所述的对所述两个或两个以上的代码段中的一个或任意多个进行段加密处理,具体为:
对所述代码混淆处理后的所述两个或两个以上的代码段中的一个或任意多个进行段加密处理。
可选的,前述的安卓平台应用程序的保护方法,其中,所述根据预设的代码混淆策略,对所述两个或两个以上的代码段进行代码混淆处理,包括:
根据所述预设的代码混淆策略,对所述应用程序中的各代码段进行遍历;
在所有代码段中的一个或任意多个种插入无用代码,插入所述无用代码后的所述应用程序的执行行为与源所述应用程序一致;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410392716.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种密码保护方法及系统
- 下一篇:配电网对光伏电源接纳能力的测评方法