安卓APP测试
签名检测
跳转到JDK目录下的bin目录
jarsigner -verify -verbose -certs "apk的位置"
只有在使用直接客户的证书签名时,才认为安全。 Debug 证书、第三方(如
开发方)证书等等均认为风险
反编译检测
- dex2jar编译
d2j-dex2jar.bat "classes.dex"
然后使用 jd-gui 打开 jar 文件,即可得到 JAVA 代码
逆向后发现是没混淆的情况,是不安全的
- 反编译为 smali 代码
apktool.bat d "apk"
应用完整性
先反编译然后更改然后重新打包
java -jar apktool.jar b -f 待打包的文件夹 -o 输出 apk
用 SignApk,对未签名的 APK 文件进行签名,命令如下:
java -jar signapk.jar testkey.x509.pem testkey.pk8 待签名 apk 文件路径 签名后输出
将签了名的 APK 安装、运行、确认是否存在自校验
推荐修改 apk 中 assets 目录下或 res/raw 目录下的文件。将修改后的 apk 文件导入到
/data/app 目录下,覆盖原文件,然后重启客户端,观察客户端是否会提示被篡改
debug 模式
AndroidManifest.xml 中的 android:debuggable="true"标记如果开启,可被
Java 调试工具例如 jdb 进行调试,获取和篡改用户敏感信息,甚至分析并且修改代码实现的业务逻辑
应用程序数据可备份
AndroidMainfest.xml 文件中的 allowBackup 属性值控制,其默认值为 true。当该属性有显式设置为 false 时,攻击者可通过 adb backup 和 adb restore 对 App 的应用数据进备份和恢复,从而可能获取明文存储的用户敏感信
网友评论