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

与 google 服务器通信时出现问题?我好像找到原因了

  •  4
     
  •   phoolean · 2019-04-25 22:42:19 +08:00 · 88161 次点击
    这是一个创建于 1212 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几天忽然发现我的小米 mix2s 和红米 note7 出现了一种很奇怪的现象:浏览器能访问 google,而谷歌系的 app 连不上服务器,但此时另一台 nexus5x 却完全正常,这三部手机连接的是同一台自动分流代理的路由器。我以为是账号出现问题就想退出后再登录 google 账号,结果发现怎么也登不上去了,两部小米手机一直提示与 google 服务器通信时出现问题。

    我按照网上各种解决方法所说的开定位、用谷歌安装器重装 gms,结果这些方法只对红米 note7 有效。更奇怪的是一天之后红米 note7 又连不上了。后来我又发现这种情况只出现在手机连接 wifi 时,如果在手机上打开代理则能正常连接。

    之后我想用 charles 和 wireshark 抓包看看到底哪儿出了问题,没想到手机在登录 google 账号时基本没有数据包发出。然后我又用 adb 导出了手机启动后的日志,才发现了原因:

    54:53.573 I octvm : [arg_idx 7]: /system/bin/mcd init sudebug init_gms_iptable_chain gms_wall 10035 REJECT

    54:53.573 I octvm : run command: iptables -N gms_wall

    54:53.573 I octvm : iptables -A gms_wall -m owner --uid-owner 10035 -j REJECT

    55:07.086 I octvm : run command: iptables -D INPUT -j gms_wall

    55:07.086 I octvm : iptables -A INPUT -j gms_wall

    55:07.129 I octvm : run command: iptables -D OUTPUT -j gms_wall

    55:07.129 I octvm : iptables -A OUTPUT -j gms_wall

    一个名叫 mcd 的系统程序,在 iptables 里写了规则,把 uid 为 10035 的用户相关的包拒绝了,在我手机上 gms 相关进程所属的 user 是 u0_a35,也就是 uid 为 10035。

    没想到竟然是小米的 rom 屏蔽了 google play 服务,真的是无语了。

    146 条回复    2022-05-26 19:59:56 +08:00
    1  2  
    Keyes
        1
    Keyes  
       2019-04-25 22:48:46 +08:00 via iPhone
    云暗杀破案系列,不知小米国际版机器如何
    Cipool
        2
    Cipool  
       2019-04-25 23:10:16 +08:00 via Android   ❤️ 1
    没想到啊,看来以后购买小米国行的机子要慎之又慎了
    junjieyuanxiling
        3
    junjieyuanxiling  
       2019-04-25 23:26:53 +08:00 via Android
    佛了,还好我买小米手机都要刷 lineage
    orangeade
        4
    orangeade  
       2019-04-25 23:30:58 +08:00 via Android
    国产 UI 现在这么恶心了?
    kokutou
        5
    kokutou  
       2019-04-25 23:41:48 +08:00
    我猜是 google 的程序没有被 miui 识别。。。因为是谷歌安装器装的,而不是 miui 自己装的。
    然后被限制了数据流量。。。

    什么年代了。。。还用谷歌安装器。。。

    miui 自己装的 google 服务是没任何问题的。
    女友一直用 google 相册备份照片,我给装的,好几年,每年都换,换了好几台小米的手机了,一直没出过问题。
    huiyifyj
        6
    huiyifyj  
       2019-04-25 23:42:20 +08:00 via Android
    看到标题我想起来之前开发 firebase,要用到 auth,每次用都是 timeout。有些偏题了🤣
    小米现在这么恶心了么?还好备用的红米 note7 没装 play 框架,不然白浪费电。
    kokutou
        7
    kokutou  
       2019-04-25 23:42:27 +08:00
    我自己是 miui 一天都用不下去的,只有 lineageos 有包了,我才会换手机。
    qq316107934
        8
    qq316107934  
       2019-04-25 23:43:55 +08:00
    卧槽,过分了吧,还明目张胆写 GMSWall,下台手机小米再见
    junjieyuanxiling
        9
    junjieyuanxiling  
       2019-04-25 23:45:03 +08:00 via Android
    @kokutou #5 gms_wall
    lzs5240
        10
    lzs5240  
       2019-04-25 23:47:00 +08:00 via Android
    米 6 最新开发版,暂时没发现
    phoolean
        11
    phoolean  
    OP
       2019-04-25 23:56:52 +08:00   ❤️ 1
    @kokutou 屏蔽的就是 miui 自带的。不仅谷歌安装器安装的会屏蔽,apkmirror 下载的也会。这个 mcd 不仅能识别而且还能精确识别,彻底卸载 gms 再重装,uid 就会变,重启时 mcd 会识别出新的 uid 并且改写 gms_wall 的规则为新的 uid
    phoolean
        12
    phoolean  
    OP
       2019-04-26 00:03:08 +08:00
    @lzs5240 开发版貌似没有这个问题。我刷了开发版后 root,再看 iptables 里确实还有 gms_wall,但 input 和 output 都没引用这条自定义链
    qq316107934
        13
    qq316107934  
       2019-04-26 00:06:37 +08:00
    @phoolean #11 这个功能可能还在灰度测试阶段,我更新到最新的开发版 GMS 还是能正常推送。
    Trumeet
        14
    Trumeet  
       2019-04-26 08:37:04 +08:00 via Android
    六四快到了,又是上头的指示吧可能
    demonzoo
        15
    demonzoo  
       2019-04-26 08:49:11 +08:00
    小米手机应该是在市场安装任意一个 google app 之后就会自动帮你安装 google 服务框架,不需要用谷歌安装器。我手头有一个我爸用过的红米 4,测试了一下没遇到你这问题
    flynaj
        16
    flynaj  
       2019-04-26 08:49:45 +08:00 via Android
    一直正常啊,你的 ROM 不是原版吧
    ThreeBody
        17
    ThreeBody  
       2019-04-26 08:58:28 +08:00 via Android
    会不会是个误会?或者刚好最近 miui 搞了一套这样的东西而已
    因为我以前用三星和一加也有遇到类似的情况,三星以前刷的是港行系统,一加原生系统,反而去年至今都未出现过这个问题了?
    ZhangSanAleph
        18
    ZhangSanAleph  
       2019-04-26 09:19:42 +08:00
    我昨天也出现了问题,不过是荣耀 v20,等待一段时间后就正常了
    Huelse
        19
    Huelse  
       2019-04-26 09:22:59 +08:00
    ???我两台小米都没遇到上述情况,都是自己安装完成的,米 6 是官方稳定版,google 云盘无问题呀
    ayanamist
        20
    ayanamist  
       2019-04-26 09:24:52 +08:00
    米 6 最新稳定版 10.3.1,没有遇到你这个问题,你最好能说下遇到这个问题的 MIUI 版本
    cominghome
        21
    cominghome  
       2019-04-26 09:32:36 +08:00
    @demonzoo 并没有唯一
    kmahyyg
        22
    kmahyyg  
       2019-04-26 09:34:12 +08:00
    楼主可以尝试提取这个应用吗?
    openbsd
        23
    openbsd  
       2019-04-26 09:35:40 +08:00
    这个屏蔽是否和 ROM 有关,虽然 404 它不在咱们这
    但是这么恶意玩它,它也这么玩怎么办 ?
    phoolean
        24
    phoolean  
    OP
       2019-04-26 09:37:09 +08:00 via Android
    @flynaj 是原版,线刷的稳定版
    CallMeReznov
        25
    CallMeReznov  
       2019-04-26 09:39:22 +08:00   ❤️ 1
    你还会发现你用 GOOGLEPLAY 怎么都下载不了东西.
    经过无脑摸索是 MIUI 自带的那个迅雷下载引擎作祟,关掉以后清一下 PLAY 的缓存就行了.
    kmahyyg
        26
    kmahyyg  
       2019-04-26 09:41:00 +08:00
    @phoolean #24 能否提供一下完整的 MIUI 版本号?
    fox0001
        27
    fox0001  
       2019-04-26 09:41:26 +08:00 via Android
    很好奇,这个 mcd 是什么程序
    phoolean
        28
    phoolean  
    OP
       2019-04-26 09:41:29 +08:00
    @CallMeReznov play store 下载 app 正常,和迅雷没关系
    phoolean
        29
    phoolean  
    OP
       2019-04-26 09:42:07 +08:00
    @kmahyyg miui_MIMIX2S_V10.3.1.0.PDGCNXM_fd117de242_9.0
    zxiso
        30
    zxiso  
       2019-04-26 09:42:11 +08:00 via Android
    我之前 p10 的 emui 也是,在国内开代理无论怎么也无法访问谷歌商店。然后去了趟香港,在香港就会提示是否启动谷歌商店的网络连接,然后就可以上了。。。
    kmahyyg
        31
    kmahyyg  
       2019-04-26 09:43:03 +08:00
    @phoolean #29 到底是 MIX2S 还是 HM NOTE 7 ? 你这个是 MIX 2S 的包,1 楼的描述是 HM NOTE 7
    phoolean
        32
    phoolean  
    OP
       2019-04-26 09:44:27 +08:00 via Android
    @kmahyyg 我第一句就说了一个 mix2s 一个 note7。。。
    kmahyyg
        33
    kmahyyg  
       2019-04-26 09:45:20 +08:00
    @phoolean #32 ok,我先下了个 note 7 的包,我看看
    phoolean
        34
    phoolean  
    OP
       2019-04-26 09:48:57 +08:00 via Android
    @kmahyyg 如果你的 ss 之类的代理在手机上,就不会出现这样的问题,因为 gms 的流量经过代理后 uid 就变了
    aliuwr
        35
    aliuwr  
       2019-04-26 09:50:34 +08:00 via Android   ❤️ 1
    三星也有针对 gms 的限制,可以看看是不是类似的逻辑。

    https://github.com/shadowsocks/shadowsocks-android/issues/2138
    kokutou
        36
    kokutou  
       2019-04-26 09:51:26 +08:00   ❤️ 1
    @CallMeReznov #25
    迅雷下载器是没错的,如果你用的代理只选择了 google play 的那几个 app 就不行,
    必须开全局让迅雷下载器也走代理,或者用路由器代理。

    miui 就是改的东西太多了,稍微特殊点的,都要设置下。

    所以我选择 lineageos。

    又要 miui,又要 google 生态,又要无脑打开就能用。。。
    google、小米:我很难办啊。
    phoolean
        37
    phoolean  
    OP
       2019-04-26 09:54:53 +08:00 via Android
    @kokutou 就是用路由器代理才会出现这种问题
    CallMeReznov
        38
    CallMeReznov  
       2019-04-26 09:57:26 +08:00
    @kokutou #36 我原来都是直接用爱死爱死转全局的,夏娜自用 V2 客户端也是全局的,他这个全局不算?
    我当时安装了 PLAY 后一直无法下载,挣扎很久才找到这个迅雷加速引擎,关闭后按照网上的清空了一下 APP 数据就可以了.
    kokutou
        39
    kokutou  
       2019-04-26 10:08:19 +08:00
    @phoolean #37
    @CallMeReznov #38

    每次换手机,我给女友装 google photo 和同步的时候都没遇到过,
    我自己用 android 只用 lineageos,

    你们一定要用 miui 的话,那遇到屎就只能自己擦。
    Zeonjl
        40
    Zeonjl  
       2019-04-26 10:16:05 +08:00 via iPhone
    贪便宜就买国际版
    keymao
        41
    keymao  
       2019-04-26 10:21:45 +08:00
    等红米漏的漆出 LOS 或者 pixel experience 硬件还是很香的
    phoolean
        42
    phoolean  
    OP
       2019-04-26 10:22:08 +08:00
    @kmahyyg 这个 mcd 是个二进制文件,直接用编辑器打开里面有这样一段

    6361 7264 2f74 7261 6365 5f6f 7574 0069
    7074 6162 6c65 7320 2d44 2025 7320 2d6a
    2025 730a 0065 6e61 626c 6500 2573 2069
    7074 6162 6c65 7320 2d41 2025 7320 2d6a
    2025 730a 0072 756e 2063 6f6d 6d61 6e64

    转成 ascii 就是

    card/trace_out iptables -D %s -j %s
    enable%s iptables -A %s -j %s
    run command
    dd1982cn
        43
    dd1982cn  
       2019-04-26 10:25:12 +08:00 via iPhone
    我估计以后国内所有安卓都要这样了 都屏蔽了 就说明是违法网站 国家安全法可是明确说为了国家安全可以直接要求公司合作 小米又怎么敢 话说华为这种国企 细思极恐啊
    nyaruko
        44
    nyaruko  
       2019-04-26 10:28:02 +08:00
    国行三星手机似乎也有类似的问题。但仅限于 Google now 无法更新。其他 app 还能正常用。

    而且重启之后能恢复正常。

    什么时候照着楼主的思路查查看。
    Raymon111111
        45
    Raymon111111  
       2019-04-26 10:28:09 +08:00
    哈哈哈哈

    以后梯子都不好用了

    直接源头限死

    浏览器直接内嵌黑名单
    hhhsuan
        46
    hhhsuan  
       2019-04-26 10:42:21 +08:00
    国产手机,国行手机,都不能买, 花钱为自己打造监牢,这种蠢事还是少做为好。
    hdkzwzj
        47
    hdkzwzj  
       2019-04-26 10:43:02 +08:00
    讲道理,小米酒好像是内置 Google play 的~
    下载还带迅雷加速,杠杠的
    est
        48
    est  
       2019-04-26 10:43:41 +08:00
    > 一个名叫 mcd 的系统程序,在 iptables 里写了规则

    可以把规则打印出来看看长啥样么?
    nVic
        49
    nVic  
       2019-04-26 10:44:01 +08:00 via iPhone
    用小米华为?这帮程序员被要求 996 的原因找到了。
    gov
        50
    gov  
       2019-04-26 10:49:41 +08:00 via iPhone
    马克一下,不知是否灰度测试功能。
    我自己的 mix2s,最新稳定版,梅林 ssr,使用至今没遇到这个问题。
    kmahyyg
        51
    kmahyyg  
       2019-04-26 10:51:23 +08:00
    @phoolean #42 我也找到了,也明显的有
    marcosteam
        52
    marcosteam  
       2019-04-26 10:52:39 +08:00 via Android
    目前没遇到此问题
    7654
        53
    7654  
       2019-04-26 10:52:59 +08:00
    我这里有个另外的问题,play 正常用,下载的时候有的 app 会提示下载超时请重试,再次点击系统下载 APP 的重试按钮,就可以正常下载了,速度也能达到 2M/S,有的 APP 下载却很顺畅
    kmahyyg
        54
    kmahyyg  
       2019-04-26 10:56:01 +08:00   ❤️ 1
    https://www.lanzous.com/i3wxzfi 想要分析的戳这里,里面有 OTA 包下载地址,也有 mcd 这个文件。
    msdx123
        55
    msdx123  
       2019-04-26 10:58:53 +08:00
    872517414
        56
    872517414  
       2019-04-26 10:59:00 +08:00 via Android
    我 MI 8 一直无法登录 Chrome,其他服务还算。
    msdx123
        57
    msdx123  
       2019-04-26 11:01:43 +08:00
    额 尴尬忘加.png 了
    catalina
        58
    catalina  
       2019-04-26 11:02:37 +08:00 via Android
    用 link2sd 把 gms 转换成系统应用试试?
    msdx123
        59
    msdx123  
       2019-04-26 11:07:49 +08:00
    不过这个 mcd 不是只针对 GMS 的,还回去根据配置调调 cpuset 之类的
    msdx123
        60
    msdx123  
       2019-04-26 11:12:23 +08:00
    https://del.dog/koficufana.sh
    msdx123
        61
    msdx123  
       2019-04-26 11:15:47 +08:00
    mxalbert1996
        62
    mxalbert1996  
       2019-04-26 11:17:15 +08:00 via Android
    建议楼主看一下系统的联网控制里是不是 GMS 的勾被去掉了
    mxalbert1996
        63
    mxalbert1996  
       2019-04-26 11:24:42 +08:00 via Android
    这个怎么看也不像是系统故意限制的,MIUI 都支持 Gmail 自动代理了,没必要故意不让你用谷歌服务。如果想我上面说的一样是联网控制里禁止了 GMS 的话,那就有可能只是系统默认禁止 GMS 联网,这我倒也不是不能理解,因为我记得 MIX 2S 的中国版 ROM 也是自带 GMS 的,但是很多(可能大部分)用户并不会用到,那么默认禁止其联网防止耗电就可以理解了。
    fengjianxinghun
        64
    fengjianxinghun  
       2019-04-26 11:25:43 +08:00   ❤️ 1
    phoolean
        65
    phoolean  
    OP
       2019-04-26 11:25:56 +08:00
    @est 正文里那几行就是啊
    phoolean
        66
    phoolean  
    OP
       2019-04-26 11:35:31 +08:00
    @fengjianxinghun 这是用什么反编译的?
    fengjianxinghun
        67
    fengjianxinghun  
       2019-04-26 11:42:39 +08:00
    @phoolean #66 IDAPro
    phoolean
        68
    phoolean  
    OP
       2019-04-26 11:49:25 +08:00
    @msdx123 这个是用什么反汇编的?
    Hoshizora
        69
    Hoshizora  
       2019-04-26 11:52:11 +08:00 via Android
    红米 note 7 没问题,手动复制 gapps 到 system 目录的,MIUI 10.3 | 稳定版
    10.3.1.0(PFGCNXM)
    ChikaInami
        70
    ChikaInami  
       2019-04-26 11:53:35 +08:00 via Android
    這樣限制的目的是什麼?為了防止用戶出國旅遊的時候使用谷歌的服務?
    Hoshizora
        71
    Hoshizora  
       2019-04-26 11:53:37 +08:00 via Android
    @Hoshizora 不过连 WIFI 就不行,必须再在手机开代理
    phoolean
        72
    phoolean  
    OP
       2019-04-26 11:54:06 +08:00
    @msdx123 这是什么工具?我用 aarch64 的 objdump 反汇编出来的特别乱。。。
    phoolean
        73
    phoolean  
    OP
       2019-04-26 11:55:12 +08:00
    @Hoshizora 这个 mcd 很贼,root 后它就不屏蔽了
    phoolean
        74
    phoolean  
    OP
       2019-04-26 11:59:41 +08:00
    @mxalbert1996 我猜它是为了省电而故意限制的,但它不允许用户自行修改,联网控制打开也没用
    msdx123
        75
    msdx123  
       2019-04-26 12:01:52 +08:00   ❤️ 1
    swsh007
        76
    swsh007  
       2019-04-26 12:05:36 +08:00 via Android
    不懂,这种高科技。
    SupperMary
        77
    SupperMary  
       2019-04-26 12:08:43 +08:00 via Android
    @hdkzwzj 迅雷加速打开反而不能下载
    dongxiaozhuo
        78
    dongxiaozhuo  
       2019-04-26 12:14:50 +08:00
    @phoolean +1 这种规则大概是满足绝大多数用户无法连接到 Google 服务到情况,降低流量和电量的使用。但是这种规则会误伤到这些喜欢折腾的大佬们。
    Baymaxbowen
        79
    Baymaxbowen  
       2019-04-26 12:16:18 +08:00 via Android
    @CallMeReznov 这个我一加也有,很多人都是这样
    gov
        80
    gov  
       2019-04-26 12:18:21 +08:00
    @gov 刚刚看了一下,发现确实存在这条规则。惊了。
    Hoshizora
        81
    Hoshizora  
       2019-04-26 12:45:26 +08:00 via Android
    @SupperMary 迅雷加速打开可以下的,这个好像和梯子有关系
    ledzep2
        82
    ledzep2  
       2019-04-26 12:50:54 +08:00 via Android
    我小米 note3 最新 miui 稳定版 无 root,google 用的好好的啊。
    phoolean
        83
    phoolean  
    OP
       2019-04-26 12:52:56 +08:00
    @ledzep2 可能这个也分机型,我还有一部小米 note 就是正常的
    Hoshizora
        84
    Hoshizora  
       2019-04-26 13:21:10 +08:00 via Android
    去掉规则后 WIFI 下能用了,不知道这么做是为了什么,如果是为了省电,那屏蔽掉不也还是会反复尝试连接吗
    kmahyyg
        85
    kmahyyg  
       2019-04-26 13:50:58 +08:00
    @msdx123 #75 感谢分享,Linux 下个人用户只能用 IDA PRO 6.4。我去 Win 下用 7.0 很容易就得到了 #64 的结果,看起来可以用 Cutter 在 Linux 下开心使用了。

    @phoolean #83 Telegram 那边有用户反馈,首次启动 GMS 的时候允许联网和放开使用移动数据限制就不会有这个。无法核实。
    lizhuoli
        86
    lizhuoli  
       2019-04-26 14:09:12 +08:00 via iPhone
    厉害啦,国产 Rom
    fengjianxinghun
        87
    fengjianxinghun  
       2019-04-26 14:12:43 +08:00
    @kmahyyg #85 cutter 只是 radare2,按我说还不如用 NSA 的 ghidra
    zzNucker
        88
    zzNucker  
       2019-04-26 14:12:58 +08:00   ❤️ 1
    换成华为理性讨论能有本楼三分之一就好了。
    demonzoo
        89
    demonzoo  
       2019-04-26 14:15:58 +08:00
    @cominghome 嗯?我#15 层的回复哪里提到了“唯一”两个字了么?没太明白你的意思
    slgz
        90
    slgz  
       2019-04-26 14:24:25 +08:00
    @msdx123 这是啥网站看起来不错
    juded
        91
    juded  
       2019-04-26 14:32:15 +08:00
    所谓的本地优化?
    之前粗粮 6 用安装框架容易出问题,后来换了菊厂自带 gms 框架倒还算正常,就是息屏状态下推送有延迟。
    hdkzwzj
        92
    hdkzwzj  
       2019-04-26 14:36:20 +08:00
    @SupperMary 神奇的地方就在于,需要先用 55 出去打开下载页面,点击下载,然后下载可能一直没进度。 如果这时把 55 关掉,一会儿就下完了。感觉这个迅雷很迷
    flyz
        93
    flyz  
       2019-04-26 14:38:58 +08:00 via Android
    用了一次 gms,不习惯,我又卸载了,长期挂着梯子难受呀,有什么不用长期挂梯子省电的办法没有。
    est
        94
    est  
       2019-04-26 14:43:54 +08:00
    @zzNucker 换成华为,水军不在前 1/3 帖子出现就好了。
    oneXplus
        95
    oneXplus  
       2019-04-26 14:48:19 +08:00
    还好我用的是亲儿子,不解锁也不刷机。挺好的
    phoolean
        96
    phoolean  
    OP
       2019-04-26 15:00:21 +08:00
    @Hoshizora 屏蔽之后 gms 还会尝试连接,但是数据包进不了基带、wifi 芯片之类的通信模块,没有信号发射所以省电
    zzNucker
        97
    zzNucker  
       2019-04-26 15:03:27 +08:00
    @est 想太多,V 站自来黑可比海军多。。
    est
        98
    est  
       2019-04-26 15:06:13 +08:00
    @zzNucker 并不妨碍人数少的海军在前 1/3 就投入战斗
    mohoumk2
        99
    mohoumk2  
       2019-04-26 15:07:52 +08:00 via Android
    难怪我的备用机连上 WiFi 会提示没网¯\_(ツ)_/¯,keep 也用不了
    datou
        100
    datou  
       2019-04-26 15:19:41 +08:00
    米九之前的开发版固件也有类似的问题

    不过最新开发版修复了
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1473 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 18:04 · PVG 02:04 · LAX 11:04 · JFK 14:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.