Android 和 iOS 双持,谈谈开放的 Android 不如封闭的 iOS 的一个地方 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seers
V2EX    Android

Android 和 iOS 双持,谈谈开放的 Android 不如封闭的 iOS 的一个地方

  •  
  •   seers 2022-09-02 22:20:06 +08:00 15595 次点击
    这是一个创建于 1165 天前的主题,其中的信息可能已经有所发展或是发生改变。

    唯一让我不爽的一点,Android 不信任用户的根证书,但是 iOS 反而大大方方的,非常奇怪,Android 就好像风韵少妇,嘴上怎么调戏都行,就是不让最后一步,iOS 仿佛高贵冷艳御姐,但是只要你有了 key ,就可以为所欲为,非常反差。

    26 条回复    2022-09-09 19:47:40 +08:00
    KagurazakaNyaa
        1
    KagurazakaNyaa  
       2022-09-02 22:22:42 +08:00   1
    可能是因为 Android 的根证书安装起来门槛太低了,不过用户根证书也是可以安装到系统根里的,只要你 root 了就可以

    另外是否信任用户根其实是应用的选择,应用甚至可以不信任系统根而是信任内置的公钥
    butanediol2d
        2
    butanediol2d  
       2022-09-02 22:42:25 +08:00 via iPhone
    @XiLingHost 能不能详细说明一下,root 之后如何添加根证书。Android 直接在设置中添加需要连密钥一同添加,我并不想把密钥也放进去。于是我直接把证书放到系统的证书目录里(目录应该是没错,我看设置中列出的其他预装根证书都在这个目录里)。但这样操作之后,手机安装的软件还是不信任我的 CA ,并且系统也弹出不信任的 CA 的通知。
    churchmice
        3
    churchmice  
       2022-09-02 22:47:40 +08:00 via Android   3
    @butanediol2d 不是直接放就行,名字有讲究,要生成对应的名字才行,具体的生成方法我忘记了。我有自己的 CA,root 之后改对名字放进对应目录一直没问题
    churchmice
        4
    churchmice  
       2022-09-02 22:49:07 +08:00 via Android
    Goooler
        5
    Goooler  
       2022-09-02 22:52:44 +08:00
    NULL2020
        6
    NULL2020  
       2022-09-02 22:53:37 +08:00
    所以,安卓小白想问问,到底怎么样可以愉快地抓包?
    CEBBCAT
        7
    CEBBCAT  
       2022-09-02 23:19:04 +08:00 via iPhone
    @NULL2020 http 该怎么抓怎么抓,https 需要安装证书,Android 到一定版本后还需要使用类似 JustTrustMe 之类的插件。再多的细节就记不得了。如果遇到证书绑定的 App ,要更麻烦一些

    你 Google 了吗?怎么说?
    butanediol2d
        8
    butanediol2d  
       2022-09-02 23:20:07 +08:00 via iPhone   1
    @churchmice 感谢,我尝试一下。
    codehz
        9
    codehz  
       2022-09-02 23:48:40 +08:00
    iOS 也不是没有 ssl pinning ,只是好像没安卓那么广
    dingwen07
        10
    dingwen07  
       2022-09-02 23:55:05 +08:00 via iPhone
    应该 Google 为了防止人们过滤广告
    ByteCat
        11
    ByteCat  
       2022-09-03 01:36:24 +08:00
    iOS 上遇到过 SSL Pinning 的,那种就很难搞了
    1nKya
        12
    1nKya  
       2022-09-03 05:14:15 +08:00
    @NULL2020 大概可以考虑 WSA 喵?
    SenLief
        13
    SenLief  
       2022-09-03 07:34:11 +08:00 via iPhone
    ssl pinning 咋解决的?
    tbg
        14
    tbg  
       2022-09-03 11:27:38 +08:00
    比喻很形象
    wwbfred
        15
    wwbfred  
       2022-09-03 12:33:40 +08:00
    Android 我记得用户导入的根证书和系统自动信任的根证书位置是不一样的,某些情况下系统不认,要想达到同等的效果需要 ROOT 。
    iOS 信任的根证书也不是无条件的,苹果的一些域名只能用系统证书,无解。SSL Spinning 只能搞自签名应用,要么每年给苹果交钱,要么一周过期一次。过两年侧载法律落地了应该就没有这个问题了。
    albert0yyyy
        16
    albert0yyyy  
       2022-09-03 13:01:55 +08:00
    但是只要你有了 root ,也可以为所欲为 /doge
    albert0yyyy
        17
    albert0yyyy  
       2022-09-03 13:04:12 +08:00   1
    @NULL2020 Android-SSL-TrustKiller 或者 JustTrustMe 模块或者直接用将用户证书置为根证书,用 Fiddler ,能抓 https 明文
    albert0yyyy
        18
    albert0yyyy  
       2022-09-03 13:08:19 +08:00
    而且只是 Android 7 以上不信任用户证书,可以说是 Android 在普通消费者版本逐渐在收紧权限。

    退一步说 Android 也还是开发源代码的,可以比喻为 Android 在外眼里逐渐从疯丫头变成乖巧,在家里头身体每个细胞你都能掌控
    albert0yyyy
        19
    albert0yyyy  
       2022-09-03 13:12:58 +08:00
    而且对于普通消费来说确实是安全了,确实难抓包了,全是空包。

    对于开发者来说,备一台 root 开发机应该是比较好的。
    albert0yyyy
        20
    albert0yyyy  
       2022-09-03 13:15:05 +08:00
    @NULL2020 或者手机运行 root 虚拟机或者平行空间,虚拟机里安装根证书,手机抓虚拟机的包
    NULL2020
        21
    NULL2020  
       2022-09-03 13:51:37 +08:00
    @albert0yyyy #20 所以,按你这么说,就一点不愉快啊,一堆魔法操作,安卓小白根本不会
    albert0yyyy
        22
    albert0yyyy  
       2022-09-03 14:12:37 +08:00
    @NULL2020 啊这,你都想抓包了。。。这不就是逆向了,和人家逆着来哪里会愉快。只能多学点技术愉快起来。
    huarong
        23
    huarong  
       2022-09-03 19:09:29 +08:00
    android 信任用户证书的问题,可以用下面这个工具解决,不需要 root 。
    huarong
        24
    huarong  
       2022-09-03 19:12:01 +08:00   2
    android 信任用户证书的问题,可以用下面这个工具解决,不需要 root:
    apk-mimt: https://github.com/shroudedcode/apk-mitm

    apk-mitm automates the entire process. All you have to do is give it an APK file and apk-mitm will:

    1. decode the APK file using Apktool
    2. replace the app's Network Security Configuration to allow user-added certificates
    3. modify the source code to disable various certificate pinning implementations
    4. encode the patched APK file using Apktool
    5. sign the patched APK file using uber-apk-signer
    realpg
        25
    realpg  
    PRO
       2022-09-04 00:40:25 +08:00
    @albert0yyyy #19
    你确定是开发者而不是破解别人开发软件的人么?
    lushan
        26
    lushan  
       2022-09-09 19:47:40 +08:00
    使用 magisk 进行 root ,然后使用这个 https://github.com/Magisk-Modules-Repo/movecert 即可
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5174 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:06 PVG 17:06 LAX 01:06 JFK 04:06
    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