Android应用加固保护方法技术

技术编号:27313697 阅读:15 留言:0更新日期:2021-02-10 09:41
本发明专利技术公开了一种Android应用加固保护方法,涉及Android应用安全技术领域,具体包含DEX文件保护、SO文件保护、资源文件保护以及数据文件保护,与现有技术相比,本发明专利技术集DEX文件保护、SO文件保护、资源文件保护以及数据文件保护于一体的全方位安全加固保护以及独创的虚机源码保护技术,安全系数以及破解成本极高,破解难度提高数个数量级。破解难度提高数个数量级。破解难度提高数个数量级。

【技术实现步骤摘要】
Android应用加固保护方法


[0001]本专利技术涉及Android应用安全
,特别是涉及一种Android应用加固保护方法。

技术介绍

[0002]Android是google公司于2007年推出的开源手机操作系统,由于其强大的功能和灵活的定制能力,使其在短短几年内便跃居智能手机操作系统市场份额的首位,据著名市场研究机构IDC的最新数据表明,2015年第三季度,Android系统智能手机的市场份额高达84.7%,远超其他系统。
[0003]随着Android应用和用户规模不断增长,Android应用攻击数量也在逐年攀升,并形成完整的灰色产业。大量Android应用程序面临着应用程序遭逆袭破解、知识产权被侵犯、被二次打包签名等安全问题。为解决此类相关问题,我们分别从代码安全、资源文件安全、数据安全等安全维度提供安全保护,来满足不同客户的安全需求。
[0004]虽然Android系统在设计之初便充分考虑到了安全问题,但随着其广泛应用,诸多潜在的安全问题还是逐渐地暴露出来,对其安全性的研究开始受到人们的广泛关注。由于Android平台软件使用的编程语言是Java,而Java源代码编译后的二进制代码极易被反编译,导致其破解难度远小于其他使用编译性语言编写的程序。虽然Android2.3以后加入了代码混淆机制,但通过逆向工程,其API级别上的代码仍是难以隐藏,对攻击者来说,破解的可能性仍是很大。
[0005]现有的一些Android应用程序加固方法,大多采用静态处理的方法,即对dex文件进行一些修改来增加攻击的难度。这种加固方法只是增加了代码阅读难度。或者基于JNI调用机制,通过加密原so文件,使用壳程序加载并解密原so文件,间接调用原so文件的函数。然而,由于基于JNI调用机制该方案,不可避免地会在硬盘短暂的留下解密后的明文so文件,攻击者使用Hook系统API、自动化脚本可以轻易地破解此方案。因此攻击者依然能够得到程序的代码,无法保证应用程序的安全性。
[0006]还有一部分Android应用加固处理方法是采用编译器自带混淆,但是此类方式只是基于对基础代码混淆,对代码反编译、篡改技术没有起到良好的防范作用。所以当前需要解决防反编译、防程序逻辑破解、防恶意代码注入、防API接口暴露。

技术实现思路

[0007]本专利技术的目的是针对现有技术中存在的Android应用防护不够全面的问题,提供一种集DEX文件保护、SO文件保护、资源文件保护以及数据文件保护于一体的全方位安全加固保护方法。
[0008]具体的,本专利技术提供的技术方案是一种Android应用加固保护方法,具体包含DEX文件保护、SO文件保护、资源文件保护以及数据文件保护。
[0009]所述DEX文件保护通过使用DEX壳、JAVA代码反编译、JAVA指令虚拟化、JAVA字符常
量加密等技术对DEX文件进行全面性保护。
[0010]所述SO文件保护通过对SO文件进行反编译、防篡改、防盗用、虚机保护、代码压缩对SO文件进行全面保护。
[0011]所述资源文件保护是对应用中的资源文件以及JS文件进行加密保护和防篡改保护。
[0012]所述数据文件保护是对应用使用到的本地文件、数据库、配置文件进行加密保护。
[0013]所述加固保护方法通过安卓APP安装包编译工具进行一键加密。
[0014]所述加固保护方法中用到的语言包括Java,Kotlin,C#,Lua,Js,Html,C/C++。
[0015]与现有技术相比,本专利技术的有益效果具体表现在以下几个方面:一、强大的安全保护:1. 集DEX文件保护、SO文件保护、资源文件保护以及数据文件保护于一体的全方位安全加固保护以及独创的虚机源码保护技术,安全系数以及破解成本极高,破解难度提高数个数量级。
[0016]2. 无需上传源代码,无需担心代码泄漏问题。
[0017]3. SAAS平台及私有化部署两种方案,满足不同客户的安全需求。
[0018]二、全平台多语言支持:1. 平台兼容性高,自动适配应用,无需额外开发适配,且不存在兼容性问题。
[0019]2. 语言支持丰富,支持包括Java,Kotlin,C#,Lua,Js,Html,C/C++等在内的多种三、一键加固:1. 操作流程便捷,App上传后,一键即可完成整个加固流程,操作简单便捷,非技术人员也能轻松掌握。
[0020]2. 性能影响小,加固后对启动时间的影响几乎为零。
附图说明
[0021]图1是本专利技术的Android应用加固保护方法DEX文件整体保护示意图。
[0022]图2是本专利技术的Android应用加固保护方法防Java反编译示意图。
[0023]图3是本专利技术的Android应用加固保护方法Java常量字符串加密示意图。
[0024]图4是本专利技术的Android应用加固保护方法Java代码虚拟化保护示意图。
[0025]图5是本专利技术的Android应用加固保护方法html/js保护示意图。
[0026]图6是本专利技术的Android应用加固保护方法的游戏引擎用脚本文件防篡改保护示意图。
[0027]图7是本专利技术的Android应用加固保护方法本地数据保护示意图一。
[0028]图8是本专利技术的Android应用加固保护方法本地数据保护示意图二。
具体实施方式
[0029]下面通过结合附图来对本专利技术的具体实施方式作进一步详细的阐述,但以下实施例仅起到帮助理解本专利技术的作用,并不能理解为是对本专利技术的进一步限定。
[0030]一种Android应用加固保护方法,具体包含DEX文件保护、SO文件保护、资源文件保护以及数据文件保护。
[0031]DEX文件保护:使用DEX壳、JAVA代码反编译、JAVA指令虚拟化、JAVA字符常量加密等技术对DEX文件进行全面性保护。
[0032]SO文件保护:对SO文件进行反编译、防篡改、防盗用、虚机保护、代码压缩对SO文件进行全面保护。
[0033]资源文件保护:对应用中的资源文件以及JS文件进行加密保护和防篡改保护。
[0034]数据文件保护:对应用使用到的本地文件、数据库、配置文件进行加密保护。
[0035]所述加固保护方法通过安卓APP安装包编译工具进行一键加密。
[0036]所述加固保护方法中用到的语言包括Java,Kotlin,C#,Lua,Js,Html,C/C++。
[0037]本专利技术实施例采用NDK编程的方式,将语义恢复代码保存在C/C++动态链接库中, 然后采用JNI技术调用底层的so库,既能够实现Android应用程序的原功能,又能杜绝原始 源代码容易被逆向的隐患,从而能实现加固、提高安全性。
[0038]根据新的源代码和语义恢复代码,进行编译打包,生成加固后的Android应用。
[0039]Android加固包含dex文件整体保护本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Android应用加固保护方法,其特征在于:所述加固保护方法是集DEX文件保护、SO文件保护、资源文件保护以及数据文件保护与一体的全方位安全加固保护。2.根据权利要求1所述的Android应用加固保护方法,其特征在于:所述DEX文件保护通过使用DEX壳、JAVA代码反编译、JAVA指令虚拟化、JAVA字符常量加密等技术对DEX文件进行全面性保护。3.根据权利要求1所述的Android应用加固保护方法,其特征在于:所述SO文件保护通过对SO文件进行反编译、防篡改、防盗用、虚机保护、代码压缩对SO文件进行全面保护。4.根据权利要求1所述的Android应用加...

【专利技术属性】
技术研发人员:周伯虎
申请(专利权)人:山东开创云计算有限公司
类型:发明
国别省市:

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

1