正如史蒂芬所说,您可能需要修补应用程序以禁用证书固定。
但大多数移动应用程序不使用它:) 因此您只需要启用 SSL
与自签名证书的连接。 Android 允许这样做
应用程序执行以下操作。第一的下载apk工具 //ibotpeaches.github.io/Apktool。然后解压APK文件
(根据 apktool 2.4.1):
java -jar apktool.jar d app.apk
Modify AndroidManifest.xml
通过将此属性添加到application
元素:
android:networkSecurityConfig="@xml/network_security_config"
创建文件res/xml/network_security_config.xml
包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
生成签名 APK 的密钥:
keytool -genkey -alias keys -keystore keys -keyalg DSA
构建修补过的APK:
java -jar apktool.jar b app -o app_patched.apk --use-aapt2
签署APK文件:
jarsigner -verbose -keystore keys app_patched.apk keys
如有必要,将 APK 转换为 JAR 以便进一步分析:d2j-dex2jar.sh app.apk
。
更多信息:网络安全配置 //developer.android.com/training/articles/security-config.