前言:
在之前的文章中已经初步介绍过app安全评估的安全项了,现在我们通过具体的列子,去学习这些漏洞吧。
正文:
我们学习app安全评估中的客户端程序安全。
1.反编译保护:
安全场景描述
Android应用程序是使用Java进行开发,运行于Java虚拟机(Dalvik)的应用程序.通过反编译工具可以很方便地得到Dalvik虚拟机所执行的Smali代码和Java代码.便可对Android应用程序进行分析,修改,重打包.若没有任何加固保护措施,应用程序的逻辑将完完整整地暴露给分析者.
威胁等级
中:未进行加壳及代码混淆
低:已进行代码混淆但未进行加壳
影响范围
Android所有版本
测试步骤
工具:
工具介绍:
dex2jar 作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件
1.首先吧apk后缀变成zip,或者rar。
然后打开你可以发现:
我们复制下来,使用工具dex2jar打开。
使用命令:d2j-dex2jar.bat classes.dex
他会生成一个目录下生成一个jar。
然后我们使用jd-gui打开就可以了。
这里我们能够反编译,但是这个app做了混淆,所以判断漏洞为低危。
修复建议
- 对客户端代码进行代码混淆
- 对客户端进行加壳加固处理