charles 抓其他应用的 https 请求 7.0 以后 有什么好方法吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zzzzzzk
V2EX    Android

charles 抓其他应用的 https 请求 7.0 以后 有什么好方法吗?

  •  
  •   zzzzzzk 2019-01-20 18:12:08 +08:00 15565 次点击
    这是一个创建于 2530 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    2022-11-27 15:59:08 +08:00
    locoz
        1
    locoz  
       2019-01-20 20:29:56 +08:00 via Android   2
    之前写的,看看能不能帮上你。https://zhuanlan.zhihu.com/p/46433599
    7lsu
        2
    7lsu  
       2019-01-20 20:51:45 +08:00
    是指抓不到吗?安卓 7.0+的话要配置系统证书才行
    letitbesqzr
        3
    letitbesqzr  
       2019-01-20 22:23:27 +08:00   4
    我猜楼主是说的如何绕过 android 7.0+ 以后的 SSL Pinning 吧。

    比如微信 7.0 在 android 7.0+以上的版本,就会有 SSL Pinning, 只信任系统内置的证书。
    "客户端在收到服务器的证书后,对该证书进行强校验,验证该证书是不是客户端承认的证书,如果不是,则直接断开连接。"

    可以尝试以下几个方案:

    1. xposed 及其插件 JustTrustMe (可以配合 virtualxposed)
    JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。

    2. 将证书安装到系统证书中(需要 root )
    系统证书的目录是:/system/etc/security/cacerts/
    每个证书的命名规则为:<Certificate_Hash>.<Number>
    Certificate_Hash 表示证书文件的 hash 值,Number 是为了防止证书文件的 hash 值一致而增加的后缀;
    证书的 hash 值可以由命令计算出来,在终端输入 openssl x509 -subject_hash_old -in <Certificate_File>,其中 Certificate_File 为证书路径,将证书重命名为 hash.0 放入系统证书目录,之后你就可以正常抓包了。

    3. VirtualApp (最简单的)
    大概的介绍,VirtualApp 是一个开源的 Android App 虚拟化引擎,允许在其中创建虚拟空间,并在这个虚拟空间中运行其他应用。
    我不是很清楚这个东西的原理,看介绍感觉应该是 VirtualApp 代理运行了程序,然而代理程序后并没有带 SSL Pinning 的功能?
    实际测试,VirtualApp 直接把微信 7.0 在里面运行,直接按照以前的方法就可以进行抓包。
    raphael008
        4
    raphael008  
       2019-01-21 12:38:23 +08:00
    建议用备用手机号注册账号去抓,某些 APP 会针对破解 SSL Pinning 封账号的,比如:饿了么
    coolmint
        5
    coolmint  
       2019-01-21 12:41:36 +08:00
    @letitbesqzr 感谢,试试那个 xposed 模块去,方法 2 我之前直接用复制粘贴的形式失败了,但我同事成功了,看来还是我想的太简单了
    iPhone11
        6
    iPhone11  
       2022-11-26 18:23:27 +08:00
    @locoz 大佬在知乎看到你回答抓包相关问题有说到 "知道原理之后其实解决办法也很容易就能想到,就是你可以直接拆包找到客户端证书然后给代理服务器用上,这样你这边发出去的包自然就会是符合要求的了",请问这个"客户端证书然后给代理服务器用上"这个怎么操作呢,我 Fiddler 和 charles 都反复查看 ssl 证书相关都是默认生成的,无法自定义或导入拆包找到客户端的证书

    我已经通过 Xposed 模块。JustTrustMe 能抓到大部分数据但是登录会不成功,已成功提取 app 的证书 就是不知道如何在抓包软件中使用
    locoz
        7
    locoz  
       2022-11-27 15:56:04 +08:00
    @iPhone11 #6 现在有更底层更方便的方法了,可以搜索“eCapture”了解一下。
    locoz
        8
    locoz  
       2022-11-27 15:59:08 +08:00
    @iPhone11 #6 老方法的话,具体要看抓包软件怎么设置,Fiddler 和 Charles 都是可以的,具体可以搜索工具名+“更改证书”或者“导入证书”之类的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4008 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 05:24 PVG 13:24 LAX 21:24 JFK 00:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86