V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ariera
V2EX  ›  Android

Android 13 如何抓包和改包

  •  
  •   ariera · 2022-09-20 19:48:08 +08:00 · 15516 次点击
    这是一个创建于 794 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,在早起的安卓机上,可以设置 wifi 代理,使流量过 fiddler,通过安装 fiddler 的证书解密 https 并修改。 但是随着安卓的进化,现在别说改包了,用 fiddler 抓包查看都费劲,有些第三方 sdk 譬如 OKHttp 啥的,现在的请求回报都是异步的,而且如果应用调用了这个 SDK 那么这个流量都不会通过 wlan 设置的代理。

    那么,在 MIUI13 ,Android 12 下,如果已经通过 magisk root ,有什么模块或者机制可以方便抓包和修改(包括修改 request 参数 和 response )。最好是可以用 PC 查看和修改的那种工具。

    不用模拟机,想用真机。 之前试过将 fiddler 加到系统证书的模块,以及 trust Xposed 模块,android 12 都不好使了。

    求大神赐教。

    38 条回复    2022-12-05 09:23:06 +08:00
    yaocai321
        1
    yaocai321  
       2022-09-20 19:56:16 +08:00   ❤️ 1
    darkengine
        2
    darkengine  
       2022-09-20 19:59:51 +08:00
    。。。网络请求是同步还是异步怎么还能影响抓包?
    tramm
        3
    tramm  
       2022-09-20 20:08:13 +08:00
    vnet
    ariera
        4
    ariera  
    OP
       2022-09-20 21:03:40 +08:00 via Android
    @yaocai321 这个用过不太行
    ariera
        5
    ariera  
    OP
       2022-09-20 21:03:56 +08:00 via Android
    @darkengine …所以就不走 http 代理了
    iutopia
        6
    iutopia  
       2022-09-20 21:19:03 +08:00
    小黄鸟不行吗?
    smartwusir007
        7
    smartwusir007  
       2022-09-20 21:24:57 +08:00
    我之前爬过,用的 android 手机安装的 vmos pro, 用 vmos 安了一个 android7 ,上面可以信任 charles 的证书,可以爬。不知道这种方法是不是你上面所说的‘模拟机’
    zhenjiachen
        8
    zhenjiachen  
       2022-09-20 21:28:21 +08:00 via iPhone
    如果抓包软件连 ssl 错误都没有抓到,那可能是 app 不走代理。
    有 magisk 安装跟证书可以看一下这个
    https://luoshuijs.vip/install-the-certificate-above-android-7.html
    crab
        9
    crab  
       2022-09-20 21:28:56 +08:00
    ariera
        10
    ariera  
    OP
       2022-09-20 22:32:45 +08:00 via Android
    @smartwusir007 呃 这不还是模拟机么
    ariera
        11
    ariera  
    OP
       2022-09-20 22:34:16 +08:00 via Android
    @zhenjiachen 这个试过 不太行了。现在 app 好多都用了 SSL pining
    v2yllhwa
        12
    v2yllhwa  
       2022-09-21 07:43:21 +08:00 via Android   ❤️ 1
    1. 用 vpn 转发的方式抓包,而不是普通的 wifi 代理,那个设置可以忽略
    2. magisk 装 move certificate 插件,然后将抓包软件的 ca 证书装到用户目录即可(某个安卓版本往上只信任系统目录,这个模块可以把用户目录的证书移动到系统目录)
    3. 如果还有 ssl pinning ,可以装 xposed 模块,trust me already/just trust me 等
    4. 如果还有双向认证,需要逆向解包出客户端证书导入抓包软件
    v2yllhwa
        13
    v2yllhwa  
       2022-09-21 07:47:11 +08:00 via Android
    #9 提到的这种 hook 类抓包也是可以的,应付一些简单的没问题。eCapture/frida 脚本等都有
    ariera
        14
    ariera  
    OP
       2022-09-21 08:11:21 +08:00 via Android
    @v2yllhwa 有没有一个 frida 脚本合集什么的,我试了一下 http toolkit 推荐的 github 上的 https://github.com/httptoolkit/frida-android-unpinning
    这个用了之后被 unpinning 的 app 会报错无法登陆,提示 null 什么的。看起来是 frida 脚本不适用的样子。
    shawndev
        15
    shawndev  
       2022-09-21 10:33:59 +08:00
    异步请求不走 HTTP 代理???
    iutopia
        16
    iutopia  
       2022-09-21 10:42:58 +08:00 via Android
    eCapture
    v2yllhwa
        17
    v2yllhwa  
       2022-09-21 12:05:14 +08:00 via Android
    @ariera 我一般还是用的 vpn+xposed unpinning 的方案,frida 主要用来 hook native 。
    不过 frida 好像有直接 hook okhttp 之类的库( xposed 应该也有)
    mmdsun
        18
    mmdsun  
       2022-09-21 12:34:17 +08:00 via iPhone
    https://www.httpdebugger.com/ ,可以抓包安卓模拟器,Android studio 设备
    zagfai
        19
    zagfai  
       2022-09-21 12:36:40 +08:00
    有 root 随便搞啊 关键是没 root-。-
    Zy143L
        20
    Zy143L  
       2022-09-21 14:37:40 +08:00 via Android
    HTTPCanary 抓包
    配合 Xposed 模块 TrustMeAlready
    解决 SSL Pinning 问题

    亲测微信都能抓
    grittiness
        21
    grittiness  
       2022-09-21 15:23:41 +08:00
    @Zy143L 😂那支付宝能抓吗?
    Musong
        22
    Musong  
       2022-09-21 19:28:02 +08:00
    前不久遇到同样的问题 Mi10Pro MIUI13 Magisk25.2
    试了两个移动证书的模块,都没有效果
    手动修改 system 读写也失败
    然后我突然发现 Magisk 启动的时候有个日志,系统证书貌似全是 link 过去的
    然后看了下下载的模块,全是把用户证书移动到系统证书目录
    我就想要不我写个模块 把用户证书 link 过去
    然后我困了,之后就忘了这事儿了,今天才想起来😅
    ariera
        23
    ariera  
    OP
       2022-09-21 20:11:43 +08:00
    @shawndev #15
    不知道是因为异步还是第三方 sdk 的原因,反正结果是不走
    ariera
        24
    ariera  
    OP
       2022-09-21 21:52:24 +08:00
    @Zy143L #20 有没有 LSPosed 的版本
    Zy143L
        25
    Zy143L  
       2022-09-22 00:51:13 +08:00 via Android
    @ariera LSP 一样使用 无非就是加了 APP 作用域
    需要给你抓的 APP 打勾罢了
    Zy143L
        26
    Zy143L  
       2022-09-22 00:51:27 +08:00 via Android
    @grittiness ..可以抓支付宝小程序的
    ariera
        27
    ariera  
    OP
       2022-09-22 08:01:45 +08:00 via Android
    @yaocai321 这个模块早就失效了
    XD2333
        28
    XD2333  
       2022-09-22 11:35:32 +08:00
    root ,magisk 模块移动 ca ,有些模块可能和 magisk 版本不适配,可以自己改一下。
    SekiBetu
        29
    SekiBetu  
       2022-09-22 19:35:47 +08:00
    - 首先需要安装 magisk 模块把 user 证书移动到 root 证书目录,或者你手动移动也行的,模块主要是可以记录,方便日后自动删除移入的证书
    - 然后安装 LSPosed 模块,安装一个 https://github.com/SekiBetu/JustTrustMe/releases JustTrustMe 模块(官方只放出了 2016 年的版本,你可以和我一样自己编译一个新的支持安卓 13 、14 甚至后面的版本)来绕过 APP 的 SSL Pinning
    - 局域网 fiddler 、Charles 、mitmproxy 等等的各种抓包呗
    SekiBetu
        30
    SekiBetu  
       2022-09-22 19:37:40 +08:00
    https://sekibetu.com/sniff01.html 我以前写的一篇文章,抓的是一个游戏的数据,替换成别的 APP 一样用
    SekiBetu
        31
    SekiBetu  
       2022-09-22 19:41:26 +08:00
    https://zhuanlan.zhihu.com/p/63028507 还有一种极端的情况,需要修改 JustTrustMe 模块代码,有些 APP 很阴险,会混淆方法名
    SekiBetu
        32
    SekiBetu  
       2022-09-22 19:45:05 +08:00
    ↑ 还有一种情况,如果有些 APP 不吃安卓系统的代理的话,用类似这样的软件全局代理接收所有流量就行 https://github.com/madeye/proxydroid (某黄红 白黑软件也行的)
    ariera
        33
    ariera  
    OP
       2022-09-22 23:05:03 +08:00 via Android
    @SekiBetu 有些抓包看到的域名是 xxx.com 但是这个域名没有对应的 A 记录,也即这个 app 用了 fake 域名。这个 app 自身还能正常使用,这是怎么做到的?怎么才能抓到真正的包
    rev1si0n
        34
    rev1si0n  
       2022-09-23 16:46:44 +08:00
    ariera
        35
    ariera  
    OP
       2022-09-23 19:54:16 +08:00
    @rev1si0n #34 看起来功能很强大,但是感觉好麻烦 还要写在 Lsposed 框架什么的。。。
    rev1si0n
        36
    rev1si0n  
       2022-09-26 11:04:01 +08:00
    @ariera 只要 root 就行了,没有说要 xposed ,那说的是不建议刷 xposed 这些
    haoyli
        37
    haoyli  
       2022-11-07 22:12:13 +08:00
    @v2yllhwa 想问一下为什么抓不到 http 包呢? 根本就显示不出来,而非加解密问题。
    hoythan
        38
    hoythan  
       2022-12-05 09:23:06 +08:00
    买了一台三星 s8 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2778 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:41 · PVG 10:41 · LAX 18:41 · JFK 21:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.