ApkCrack 一键生成支持 Android 7.0 抓包的 apk

栏目: IT技术 · 发布时间: 6年前

内容简介:作者:星星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

ApkCrack 一键生成支持 Android 7.0 抓包的 apk
image
ApkCrack 一键生成支持 Android 7.0 抓包的 apk
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" ...>
 </application>

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

ApkCrack 一键生成支持 Android 7.0 抓包的 apk
image

在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,抓包

ApkCrack 一键生成支持 Android 7.0 抓包的 apk
image

一键生成可抓包apk

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

https://github.com/iamyours/ApkCrack

下载地址

https://github.com/iamyours/ApkCrack/releases


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

复杂网络理论及其应用

复杂网络理论及其应用

汪小帆、李翔、陈关荣 / 清华大学出版社 / 2006 / 45.00元

国内首部复杂网络专著 【图书目录】 第1章 引论 1.1 引言 1.2 复杂网络研究简史 1.3 基本概念 1.4 本书内容简介 参考文献 第2章 网络拓扑基本模型及其性质 2.1 引言 2.2 规则网络 2.3 随机图 2.4 小世界网络模型 2.5 无标度网络模型 ......一起来看看 《复杂网络理论及其应用》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具