Android安全机制
此专栏着重介绍Android安全机制相关知识,从Android系统安全的历史和现状,Android系统的几道防线,Apk防护措施,数据加密,逆向工具的原理,实例等多方面进行阐述。
y-grey
技术博客、分享、记录、巩固、点滴。
展开
-
六、Android安全机制之NDK实现防钩子签名校验
一、背景 一直以来,签名校验都是防Apk被反编译的重要措施之一,但是随着反编译技术的日渐发展,普通的签名校验方式已经可以被轻易的攻破了。这里对目前常用的签名校验方式及其破解法进行了梳理:1,Java层通过PackageManager获取签名信息进行对比×(hook掉与PMS交互的IPackageManager即可完美破解)2,Java层通过解压Apk包获取签名信息进行对比×(写在Ja...原创 2018-02-11 18:06:58 · 3277 阅读 · 6 评论 -
五、Android安全机制之反编译(你也可以拥有iPhone X)
Android应用的反编译需要了解smali,熟练使用常用的反编译工具。比如apktool,Jd-jui,dex2jar,Android逆向助手,AXMLPrinter2,jadx,Xposed,IDA,APK改之理,AndroidKiller以及一些adb、aapt指令和windows批处理等。 关于反编译的流程和工具的使用方式,下面以一个反编译实例来进行阐述。首先明确我们的目标就...原创 2017-12-10 17:17:17 · 1452 阅读 · 0 评论 -
四、Android安全机制之数据加密
1、MD5 MD5,全名Message Digest Algorithm 5 ,中文名为消息摘要算法第五版,一种不可逆的hash算法,常用于只需加密无需解密的数据上,比如用户密码,也常用来保证数据的完整性,因为数据被篡改后,其加密后的MD5也会随之改变(不考虑碰撞的情况下),对比篡改前的MD5可确定数据是否完整;2、RSA 非对称加密算法,RSA的安全性依赖于大数的分解原创 2017-12-08 16:26:11 · 837 阅读 · 0 评论 -
三、Android安全机制之Apk防护
1、代码和资源混淆1. 代码混淆Android使用的ProGuard,起到压缩,混淆,预检,优化的作用,用法就是在build.gradle文件中minifyEnabled设置属性为true,然后在proguard-android.txt编写相应的规则,混淆是用“a b c”等字符替换程序类名、变量名和方法名,加大了反编译后代码的阅读难度,同时还有一个好处就是减少了Apk的体积。2. 资原创 2017-11-28 15:19:18 · 2911 阅读 · 0 评论 -
二、Android安全机制之系统防线
1、Android基于Linux内核的访问控制机制Android本质是基于Linux内核开发的,所以同样继承了Linux的文件访问机制,Linux文件系统权限控制由user、group、other与读(r)、写(w)、执行(x)的不同组合来实现的。同样,Android也实现了这套机制,通常情况下,只有System、root用户才有权限访问到系统文件。举个例子,做串口开发的时候,普通用户是无原创 2017-11-14 22:16:15 · 1278 阅读 · 0 评论 -
一、Android安全机制之前言
移动平台已经成为人们上网的主要方式。随着Android应用的普及,安全问题日益突出。出于商业利益的考虑,Android系统的所有者谷歌公司,一直回避公开讨论其安全性,国外的用户一般是从谷歌应用商店下载应用,由于谷歌自身安全机制的保障,其安全性不太可能出现大的问题。但是,中国用户无法直接访问谷歌应用商店,大都是通过国内大大小小第三方Android市场下载应用,而谷歌无法控制第三方的应用商店。因此,国原创 2017-11-12 19:14:50 · 758 阅读 · 0 评论