当前位置:网站首页>Android安全性优化——APP加固
Android安全性优化——APP加固
2022-07-30 23:28:00 【守住Android最后的光】
现今移动应用市场火爆,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、数据层面
要有数据的防泄漏,像针对内存数据的保护,内存中的数据有没有加密?使用完后有没有及时释放?日志数据,有没有存储一些关键的数据?有没有存储一些敏感数据?以及在数据传输的过程中的一些加固技术要加入进来。针对页面数据的保护,有应用防截屏、应用防劫持、安全键盘等。
边栏推荐
- 360核心安全大脑3.0正式发布,构建政企用户的“能力中枢平台”
- tcp协议传输中的粘包问题
- Chapter 8 Intermediate Shell Tools II
- ZZULIOJ:1119: 数列有序
- 2021GDCPC Guangdong University Student Programming Competition H.History
- 雪佛兰开拓者,安全保障温暖你的家庭出行的第一选择
- leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)
- The difference between ?? and ??= and ?. and || in JS
- Introducing the visualization tool Netron
- 二叉查找树的定义,查找,插入,删除
猜你喜欢

Unity 加载读取PPT

Apache Doris系列之:深入认识实时分析型数据库Apache Doris

MySQL联合查询(多表查询)

Reverse linked list - head insertion inversion method

EasyExcel comprehensive course combat

Chevrolet Trailblazer, the first choice for safety and warmth for your family travel

#Dasctf July Enabler WP

递增三元组

uniapp开发微信小程序-软考刷题小程序

mysql 中手动设置事务提交
随机推荐
MySQL索引常见面试题(2022版)
uni-ui installation
一文详解:SRv6 Policy模型、算路及引流
软考学习计划
C# VSCode & Rider引用命名空间快捷键
Week 19 Progress (Understanding IoT Basics)
[SAM template question] P3975 [TJOI2015] string theory
Bugku sql注入
DFS题单以及模板汇总
科技的成就(三十一)
Apache Doris series: detailed steps for installation and deployment
"NIO Cup" 2022 Nioke Summer Multi-School Training Camp 2 H.Take the Elevator
flutter 做底部的三个按键,有叠加,有填充
vscode上利用screen命令跑代码
2021GDCPC广东省大学生程序设计竞赛 B.Byfibonacci
如何在 AWS 中应用 DevOps 方法?
雪佛兰开拓者,安全保障温暖你的家庭出行的第一选择
leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)
Compressing Deep Graph Neural Networks via Adversarial Knowledge Distillation
H5跳转微信公众号解决方案