内容简介:作者:星星y链接:https://www.jianshu.com/p/44923e658f47
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
反编译
使用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" ...>
</application>
然后将charles.cer证书放入到raw目录下
在xml目录下新建network_security_config.xml文件,加入
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system"/>
<certificates src="user"/>
<certificates src="@raw/charles"/>
</trust-anchors>
</base-config>
</network-security-config>
重新打包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,抓包
一键生成可抓包apk
每次都要反编译,修改配置,复制证书,重新签名比较重复繁琐。所以基于ApkTool的api开发了ApkCrack工具包,只要配置好证书路径,签名信息,即可一键生成可抓包apk(windows/mac亲测可用)。
https://github.com/iamyours/ApkCrack
下载地址
https://github.com/iamyours/ApkCrack/releases
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Security Testing Cookbook
Paco Hope、Ben Walther / O'Reilly Media / 2008-10-24 / USD 39.99
Among the tests you perform on web applications, security testing is perhaps the most important, yet it's often the most neglected. The recipes in the Web Security Testing Cookbook demonstrate how dev......一起来看看 《Web Security Testing Cookbook》 这本书的介绍吧!