Android应用攻与防

本文探讨了Android应用的安全性,从应用的易受攻击性出发,介绍了源码混淆、应用加壳、运行环境检测等防御手段。通过实战案例展示了如何通过反编译、脱壳、抓包和hook技术绕过安全防护,成为应用的VIP会员,强调了安卓应用安全防护的重要性及攻防对抗的持续性。
摘要由CSDN通过智能技术生成

安卓系统是由谷歌推出的一款移动终端,由于开源,所以国内出现了许多使用相关系统的厂商,比如小米,oppo,vivo,魅族等。

在国内,这些系统的用户群体甚多。我们日常使用的社交、游戏、工作等应用,很多都装在安卓系统上。

由于安卓系统的开源性,很多安全问题也随之而来。那么,在安卓系统上运行的应用又是如何保证自身安全的呢?

本文通过实战挖洞,展现一下Android应用的防守与攻击方式。

图片

1

简介

为了避免应用被攻击,各种应用在投产前会用一些技术手段进行加固。但是在持续对抗下,总会出现各种反加固的手段。

部分开发者可能忽视应用的安全性,各大应用市场上也有很多未采取加固手段或进行简单加固的应用。

首先,广州房评来看一看一个未进行任何加固手段的应用,运行起来有多危险。

下图是开发工程师加密身份证号的AES加密算法。AES算法能保证身份证号以密文形式在网络上传输,不被他人窃取,将代码打包安装在我们手机中运行。

图片

由于安卓应用包很容易获取,源码包被攻击者拿去反编译,反编译结果如下图:

图片

对比开发者写的代码和攻击者反编译的代码,几乎完全一样,攻击者很容易分析出我们的代码逻辑,从而造成破坏。

如上面程序,拿到我们加密算法逻辑,对传输中的加密内容进行解密,来获取身份证号。

由此可见,没有做任何安全防护的安卓源码犹如“裸奔”。

2

防守原理

上面实例可见,没有加固的安卓应用,运行起来是相当危险的。丰告网下面介绍几种常见的应用加固方式。包括源码混淆、应用加壳、应用运行环境检测。

源代码混淆保护

混淆是将代码中的类、方法、变量等信息进行重命名,把它们改成一些如“a,b,c,d”这样毫无意义的名字,这样就增加了攻击者逆向难度。混淆效果图如下:

图片

应用

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值