Android安全(六)--apk加固原理

  • A+
所属分类:移动安全

由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备。之前曾有新闻报道,一些专职的APP打包党就是专门从各种渠道找到apk,通过各种破解手段将apk文件破解、反编译,然后加入广告、病毒代码,重新打包投入市场,不明真相的用户将带病毒广告的apk下载下来,甚至因此造成利益损失。

下面,我将为大家介绍一下APP加固的原理和实现的步骤,希望对大家有所帮助。

Android自底层向上分为4个功能层,分别是:Linux内核层、系统运行库层,应用程序框架层和应用程序层。其中,应用程序框架层提供开发Android应用程序所需的一系列类库,包含4类基本组件,丰富的控件、资源管理器、内容提供器、活动管理器等等。

Android安全(六)--apk加固原理

传统的安卓应用一般由Java语音编写,由四个主要组件组成:Activity、Intent Receiver、service、content provider。

Android安全(六)--apk加固原理

Android应用程序所使用的编程语音是Java语言,和Java SE一样,编译时将使用Sun JDK将Java源程序编程成标准的Java字码文件(.class文件),而后通过工具软件DX把所有字节码文件转成DEX文件,最后使用Android打包工具(aapt)将DEX文件,资源文件以及Android-Manifest.xml文件组合成一个应用程序包(APK)。

Android安全(六)--apk加固原理

源码加密:Dex文件保护、防二次打包、so文件保护、资源文件保护。其中,各个加密项目又包括好多个小项目,以dex文件加密保护为例,dex加密需要Dex加壳保护、dex加花、dex动态类加载等。

Android安全(六)--apk加固原理

应用加密:应用加密包括log日志输入屏蔽和清场技术。以清场技术为例,清场技术依赖于云端黑名单、白名单DB,应用每次启动后便自动进行本地的黑名单、白名单DB数据更新,若检测到有异常情况,则可对用户进行提示。

Android安全(六)--apk加固原理

数据安全:页面防劫持、本地数据保护、截屏保护、内存数据防查询、协议加密、虚拟键盘。

以防截屏录屏功能为例,通过Hook技术监控系统底层截屏相关函数(操作),阻止相关函数调用,也可以在界面中添加代码防止页面截屏。

Android安全(六)--apk加固原理

APP加固是一个庞大的工程,包含却不止于上述的加固方式

来源:百度


之前分享过的资料:

ctf web/ctf misc 学习资料,私聊公众号发送“ctf学习资料”会自动回复你下载链接;

hw期间分享过溯源思维脑图,私聊公众号发送“获取高清图”会自动回复你下载链接

hw期间分享的个人收集的子域名字典,私聊公众号发送“获取子域名字典”会自动回复你下载链接

私聊发送“hw”或者“2020hw”,获取hw期间系列文章阅读链接;

Android安全(六)--apk加固原理

一如既往的学习,一如既往的整理,一如即往的分享。感谢支持Android安全(六)--apk加固原理

Android安全(六)--apk加固原理


Android安全(六)--apk加固原理

2020hw系列文章整理(中秋快乐、国庆快乐、双节快乐)

HW中如何检测和阻止DNS隧道

app安全之反编译(一)

Android安全(二)—-攻击框架drozer全功能介绍

Android安全(三)—so注入(inject)

Android安全(四)--数据库 之 SQLite数据库



扫描关注LemonSec

Android安全(六)--apk加固原理


Android安全(六)--apk加固原理

本文始发于微信公众号(LemonSec):Android安全(六)--apk加固原理

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: