Android安全性优化——APP加固
现今移动应用市场火爆,APP数量呈爆发式增长,随着5G的逐渐广泛应用,APP增长趋势不断。正因APP的泛滥,网络攻击者的目标也在逐渐转移,数亿的移动互联网用户暴露在病毒攻击的范围之内,也使得手机APP安全形势更加不容乐观。
移动应用中同样储存着不少数据,为保障APP的安全,除了定期对其进行安全检测外,还做好安全加固工作,防止二次打包、防止篡改、防止被破解等等,提前进行加密加固工作,保障开发者和用户的利益。
APP加固的概念
APP加固是指通过一些加固技术对apk进行加固,防止别人反编译我们的apk获取源码和资源文件,大致原理是:先将java语法翻译成c/c++代码,然后将c/c++代码编译成.so库。目前市场主流的APP加固公司有三家,分别是:梆梆加固,360和爱加密。他们的大致流程如下:
- 首先,去对应网站注册帐号;
- 然后,上传已经签名过的app到网站,等待加固完成;
- 最后,加固完成后,下载加固好的apk文件,注意,由于对apk加固会更改apk文件,因此下载下来后,还需要对apk进行重新签名,每个网站都提供了自己的签名工具。
加固原理是什么?
APP加固是对APP代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏。
1、Android加固
android应用安全加固,使用DEX
VMP、DEX函数抽取加密机动态还原、DEX文件加壳、SO文件加固、H5文件混淆、SDK加固、资源文件完整性保护、防调试保护、签名校验、防截屏、防劫持技术,使加固后的应用具备防逆向分析、防二次打包、防动态调试、防动态注入、防数据篡改等安全防护能力。
2、SDK加固
SDK加固使用DEX加壳、DEX源码分离及动态还原、DEX
VMP、防调试等技术对AAR、JAR文件进行加固,使加固后的AAR、JAR文件具备防逆向分析、防动态调试等安全防护能力;对于SO文件,使用SO加固技术;对于IOS
SDK,使用IOS源码混淆技术。
3、SO加固
SO加固使用SO加壳、SO混淆、SO VMP、SO
Linker、防调试、防调用、加固绑定等技术,使加固后的SO文件具备防逆向分析、防动态调试、防动态注入、防窃取等安全防护能力,降低SO文件被破解的风险。
4、H5加固
H5安全加固使用源码混淆技术,对应用内调用的H5文件、通过浏览器访问的H5文件、微信公众号和微信小程序进行加固,同时支持一次一密,即同一个页面每次被访问时代码都不相同,提高了H5文件被破解的难度,增强了H5文件的安全性。
APP加固方法
1、源码加密。大家在做APP加固 的时候,是可以采用源码加密的方法的,这个可以防二次打包,可以做资源文件保护以及so文件和Dex文件保护。其实,每个加密项目又还包含了很多的小项目,比如对于dex文件来说,它进行加密保护的时候,是需要加壳保护的,还可以是加花以及动态类加载等的方法。
2、应用加密。这个APP加固的方法也是包括两种技术的,一种是清场技术,一种是log日志输入屏蔽技术。对于清场技术来说,它是依赖于云端的白名单,黑名单的,这个应用在每次启动的时候,就会自动的进行本地的白名单和黑名单的数据更新,如果它检测到异常的情况的话,就会对用户进行提示的。
3、数据安全。这种APP加固 方法的功能是非常多的,不仅可以进行页面的防劫持,进行截屏保护和本地数据的保护,还可以做内存数据的防查询,虚拟键盘和协议加密等的内容,对于它的防截屏,录屏的功能来说,它是通过hook技术监控系统来进行底层的截屏相关操作的,这样就能够防止相关函数的调用了。
可见,APP加固 的方法是有很多的,尤其是数据安全方面的功能是非常强大的,它还可以在界面中加入一些代码,以防止页面被截屏。APP加固其实是一个比较庞大的工程,对于它的原理,将会接下来给大家介绍。
更多Android app安全加密技术;可往B站视频: 华为资深专家深度教学;AndroidIO加密文件改造全过程;dex文件加密、解密;apk打包、解包、加壳、脱壳!
Android核心技术:《Android架构技术进阶》
总结
1、静态层面
有防逆向,如DEX文件的保护、SO文件的保护、SDK的保护以及JS、H5、HTML等文件的保护,利用一些加固技术去做防逆向的保护。静态层面还有签名保护,主要是防篡改,一个是代码防篡改,一个是资源文件防篡改。将防篡改技术加入进来,嵌入之后,就能实现静态层面的防篡改。
2、动态层面
主要是防调试,一般是通过动态调试来查看你这个平台的逻辑是什么样的,要有防动态调试的技术。还要放进程调试、防内存DUMP、防模拟器、防HOCK攻击等。
3、数据层面
要有数据的防泄漏,像针对内存数据的保护,内存中的数据有没有加密?使用完后有没有及时释放?日志数据,有没有存储一些关键的数据?有没有存储一些敏感数据?以及在数据传输的过程中的一些加固技术要加入进来。针对页面数据的保护,有应用防截屏、应用防劫持、安全键盘等。
Android安全性优化——APP加固相关推荐
- Android性能优化-App后台优化
原文链接 Background Optimizations 前言 后台进程是内存和电池敏感的.一个隐式的broadcast可能会启动很多监听它的后台进程,即使这些进程可能做得工作不多.这可能丢设备性能 ...
- Android性能优化-App启动优化
原文地址:https://developer.android.com/topic/performance/launch-time.html#common 通常用户期望app响应和加载速度越快越好.一个 ...
- android中的app加固
1.app加固需要3个对象: 1)需要加密的源apk 2)壳程序apk(负责解密源apk) 3)加密工具(将源apk进行加密:和壳Dex合成新的Dex) 2.app加固需要用到的知识点: 1)对dex ...
- 常见android app加固厂商脱壳方法研究
这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下 目录简述(脱壳前学习的知识.壳的历史.脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述Apk文件结构De ...
- Android App加固原理分析
Android App加固原理分析 对App进行加固,可以有效防止移动应用被破解.盗版.二次打包.注入.反编译等,保障程序的安全性.稳定性.对于金融类App,尤其重要. 对App dex进行加固的基本 ...
- Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)...
2019独角兽企业重金招聘Python工程师标准>>> 前言 在 Android开发中,性能优化策略十分重要 因为其决定了应用程序的开发质量:可用性.流畅性.稳定性等,是提高用户留存 ...
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | dvmDexFileOpenPartial | dexFileParse | 脱壳点 | 获取 dex 文件在内存中的首地址 )
文章目录 前言 一.DexPrepare.cpp 中 rewriteDex() 方法分析 二.DvmDex.cpp 中 dvmDexFileOpenPartial() 方法分析 ( 脱壳点 ) 三.D ...
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmContinueOptimizati() 函数分析 )
文章目录 前言 一.DexPrepare.cpp 中 dvmContinueOptimizati() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DEX 优化流程分析 | D ...
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )
文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...
最新文章
- java应用窗口大小_java 如何让程序窗口随屏幕大小改变 | 学步园
- 【怎样写代码】复杂对象的组装与创建 -- 建造者模式(四):扩展案例
- 学习SQLite之路(五) C/C++ SQLite开发实例
- 字典转json时排序
- Go 初体验 - 令人惊叹的语法 - defer.3 - defer 函数参数计算时机
- 软件工程--团队作业4
- 刷题之旅2020.12.05
- 【解决】Authentication plugin 'caching_sha2_password' cannot be loaded
- 数据结构与算法之母牛生牛
- Java基础知识强化之网络编程笔记25:Android网络通信之 Future接口介绍(Java程序执行超时)...
- Calendar是日历类
- Java多线程sleep和wait的区别,总结得非常好
- [系统审计]SAP HANA 中的系统审计策略管理
- FCS省选模拟赛 Day7
- 11年亚锦赛球员数据_2020年11月楼市数据更新!全美房屋中间价持续上涨
- CentOS7防火墙管理firewalld
- 造轮子:前端模板引擎
- [转载]基于TFS实践敏捷-Scrum模式运用
- odoo报表内部和外部布局
- 收藏 一句话问答 linux