解决安卓手机无法使用Charles抓包

解决安卓手机无法使用Charles抓包,第1张

一:背景及表现
背景:安卓7.0及以上系统无法使用Charles抓包
问题表现:
1.连接代理wifi后无法访问网络
2.抓包数据接口都是 unkown
3.查看接口详细信息详情,其中包含:You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

二.问题原因
见官方文档:https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

关于此配置文件讲解:
https://developer.android.com/training/articles/security-config?hl=zh-cn

三、解决办法
1.将apk反编译,反编译后的目录结构:

2.在反编译处理的文件夹目录res/xml/中新建network_security_config.xml,内容如下:


<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" />
            <certificates src="user" overridePins="true" />
        trust-anchors>
    base-config>
network-security-config>

3.文件夹根目录下修改AndroidManifest.xml

android:networkSecurityConfig="@xml/network_security_config"

3.重新编译以上整个文件夹,打出新的example.apk
4.签名example.apk
5.安装example.apk
6.装上新打包的apk就可以啦

【参考资料】
详细的反编译、打包、签名过程参考:
https://blog.51cto.com/u_15328720/3391423

【命令】
反编译:

java -jar apktool.jar d hello-release.apk

打包:

java -jar apktool.jar b hello-release  -o hello-debug.apk

生成密钥文件:

keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

签名apk:

jarsigner -verbose -keystore demo.keystore hello-debug.apk demo.keystore

踩坑记录:
【问题一】:重新打包之后,安装报错:

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl290988339.tmp/base.apk: Attempt to get length of null array]

【原因】:没有重新签名
【解决办法】:生成keystore文件后签名,重新安装

【问题二】:重新打包之后抓包还是:You may need to configure …
【原因】:network_security_config.xml配置文件问题,
如:漏了
解决办法:补充配置文件,并重新打包安装

【问题三】:新版本重新打包安装报错:

Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package hello-debug.apk signatures do not match previously installed version; ignoring!]

【原因】:打新包时又重新生成了签名文件,与旧包的签名文件不一致
【解决办法1】:卸载手机上的旧包重新安装
【解决办法2】:使用旧的签名文件重新签名

【问题四】在安卓11系统上安卓失败

Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

【解决办法】待补充。。。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存