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

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

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

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

    26 条回复    2022-09-09 19:47:40 +08:00
    XiLingHost
        1
    XiLingHost  
       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  
       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   ·   实用小工具   ·   5228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:16 · PVG 17:16 · LAX 01:16 · JFK 04:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.