关于fi dd ler 手机抓包 网卡地址地址_ApkCrack 一键生成支持 Android 7.0 抓包的 apk...

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群

作者:星星y
链接:https://www.jianshu.com/p/44923e658f47
声明:本文已获星星y授权发表,转发等请联系原作者授权

Android7.0手机抓包

在开发或者测试中,网络抓包是经常需要的。例如需要测试release包在某个bug产生时的网络请求,或者想要查看其他app的响应数据,而且绝大数的都是https请求。

在Android7.0以下,我们可以将Fiddler/Charles的证书放到手机的用户证书中来实现https抓包。

而Android7.0以上手机不再信任用户证书,一种方法是将手机Root,将证书放到系统证书目录下,但是现在刷机难度变大,刷机需求变小(有些刷机厂商倒闭),这种形式抓包不太友好。

另一种则是配置清单文件networkSecurityConfig,见官方Android网络安全配置,我们将Charles/Fiddler证书放入到apk中,这样就可以在任意Android手机中抓包了。

已有apk抓包方案

在打release包,或者我们拿到一个市场上下载的apk,想要对他们抓包操作,而且手上只有Android7.0以上的设备时,反编译重打包apk就是一个有效的方法了。

我们以美团apk为例:

相关工具

  • ApkTool
  • Charles

导出证书

首先我们要导出Charles(或者Fiddler)证书,命名为charles.cer

c2b8ab5ece2bd54762b4cd6e220669a6.png
image
bbeec79959ffdeaa0c027a3c08fa806f.png
image

反编译

使用ApkTool反编译美团apk

java -jar apktool.jar d apks/meituan.apk

可以在meituan目录下看到反编译好的资源

放入证书,修改清单文件

在application中添加android:networkSecurityConfig属性(美团apk本身已配置),

<application ... android:name="com.sankuai.meituan.MeituanApplication" android:networkSecurityConfig="@xml/network_security_config" ...>

然后将charles.cer证书放入到raw目录下

520bdb06226afdef89d2f64064b4283f.png
image

在xml目录下新建network_security_config.xml文件,加入

<?xml version="1.0" encoding="utf-8" standalone="no"?>

重新打包apk

修改好后,我们再使用ApkTool打包

java -jar apktool.jar b meituan/

签名

在meituan/dist/目录下可以看到打包好的apk,此时是没有签名的,我们需要给它加入签名信息。

可以通过Android Studio随便新建一个项目,通过Generate Signed apk方式生成一个签名文件,也可以通过命令的方式生成签名

keytool -genkey -alias aliasName -keyalg RSA -validity 20000 -keystore test.jks

然后我们使用这个test.jks文件对apk签名

jarsigner -verbose -keystore test.jks -storepass storePasswordxxx -keypass keyPasswordxxx meituan/dist/meituan.apk aliasNamexxx

安装apk,抓包

588960684e96ea516d4544fd830eaf71.png
image

一键生成可抓包apk

每次都要反编译,修改配置,复制证书,重新签名比较重复繁琐。所以基于ApkTool的api开发了ApkCrack工具包,只要配置好证书路径,签名信息,即可一键生成可抓包apk(windows/mac亲测可用)。

https://github.com/iamyours/ApkCrack

下载地址
https://github.com/iamyours/ApkCrack/releases

相关阅读

1 Android :如何防止被抓包工具抓包
2 Android 系统各个版本上https的抓包
3 Walle —— Android多渠道打包神器
4 Android-打包AAR步骤以及注意事项
5 Android 启动页延伸至状态栏

8a1b0f05546c9b753602fcdc4c3d63f9.png 如果你有写博客的好习惯欢迎投稿

点个在看,小生感恩❤️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值