微信最新版本 6.5.16 后台偷跑流量&抓包分析;请鹅企有关部门解释一下原因

2017-11-08 10:15:27 +08:00
 wuyuanyi135
今年 9 月我换了加拿大 Fido 合约的 Galaxy S8,发现微信的流量一直不正确: 后台流量非常高,并且和微信自己记录下来的流量完全不吻合




平均每一天微信在后台流量会跑 60-100M。多次反馈无果后只好关闭了微信的后台数据访问。于是乎,流量不跑了,消息也收不到了。可悲的企鹅没有用 GCM。

前两天坐巴士的时候没有 WIFI,于是用 Google Play 上的 Packet Capture 抓下了所有包,不一会就看到了一个微信的 18MB 的后台包。


包的 pcap 已经导出,我最近有空会去分析微信下载那么大东西的企图。由于可能涉及个人信息 pcap 包就不分享了。如果微信开发有需要请联系我。
==========================下面是简要的请求信息===========================
POST 203.205.150.89/downloadstorage
body 含有字段:weixinnum; seq; clientversion; clientostype(操作系统); authkey; nettype; acceptdupack; safeproto; filetype; fileid; lastip; lastretcode; ipseq; wxmsgflag; wxautostart; rangestart; rangeend
猜测: 该操作向服务器请求下载一些 bulk 文件 比如版本更新 图片库等。客户端通过改变 fileid,range 向服务器分片请求了这些内容。每个包请求 64K 的数据。 请求返回的内容是加密或二进制包我暂时没有仔细解析以了解它的意图。


可悲的是,暂时我也没有什么能做的。我的手机没有 root,没法改 hosts 之类的把跑流量的请求给 ban 掉。不知道装低版本微信会不会有用。
希望有类似经历的人来分享一下解决方案或者请企鹅官方重视一下这个问题,我相信你们应该不是在 DDOS 自己。
15520 次点击
所在节点    全球工单系统
77 条回复
RagnarokStack
2017-11-08 12:46:04 +08:00
Hi,我是微信这边的 android 开发,楼主可以方便私信发下微信号给我吗,我们一起来看下是什么问题
dong3580
2017-11-08 13:29:53 +08:00
@est
看日志也得付费,郁闷,
xia0pia0
2017-11-08 13:44:17 +08:00
腾讯有个开源项目 tinker,热更新,就是比较 Hack 的方式,不需要重新安装应用就能更新,可以绕过应用市场,有利也有弊吧。
HarrisonZ
2017-11-08 13:53:26 +08:00
这是腾讯用来做网络测试,众测,用来监控腾讯自己服务的健康情况的
peng1994
2017-11-08 13:58:25 +08:00
@RagnarokStack 我是韩版 note8,微信语音调成仅听筒之后声音特别大,而且不能用音量键调节,目前有解决办法吗?
opengps
2017-11-08 14:00:18 +08:00
微信自动下载图片占用不少流量
morethansean
2017-11-08 14:01:32 +08:00
@binjoo #27
你可以理解为微信不走 GCM,只是一个摆设。
7654
2017-11-08 14:03:09 +08:00
@peng1994 #45
@RagnarokStack #41 原来我一直以为只有 flyme 才有这个问题,听筒声音超大,并且不能调整
还有插入耳机,语音视频聊天声音也会从扬声器出来
iVeego
2017-11-08 14:22:34 +08:00
@dong3580 #11 感谢推荐。我这里说下,这个 APP 会在本地建立一个 VPN 服务,和影梭冲突。如果有 24h 翻墙需求的人,这个 APP 不适用。
honeycomb
2017-11-08 14:23:55 +08:00
有一个简单的办法,通过 appops 把微信的 run_in_background 设置为 ignore 即可
jy02201949
2017-11-08 14:30:31 +08:00
google play 下的也没有 GCM ?我记得是有的啊
honeycomb
2017-11-08 14:30:44 +08:00
@liuzuo
@BOGU
@alex321

@wuyuanyi135
“热更新难道不由系统代理提示 APK 更新吗?我没有 root 我想微信没有这样的权限”
热更新是一个通过 Android 本身的 DexClassLoader 之类的洞,Google 似乎不打算在代码上修补它,仅是在 play store 的开发者协议规定了不允许热更新。

有一种说法认为 Google Play 自己就有热更新的部分,如 SafetyNet Attestation 组件

“这种 non-root 的防火墙是不是一般都依赖 VPN 工作的”
是的

微信在有些情况下会通过 GCM 拉起

@RagnarokStack
所以微信在 play 渠道的版本是停用了热更新,但保留 tinker 框架的代码?
baoanlol
2017-11-08 14:35:11 +08:00
@jy02201949

微信现在有 GCM,但是只是个摆设,不是标准的。微信的操作方式很无耻,是通过 GCM 尝试去拉起自己的 app,然后通过自己的 app 去拉取信息。。。

在安卓的生态下,又不得不用微信,只能常驻后台。。。谁让微信流氓,mipush,华为 push,魅族 push 全部都不支持
jy02201949
2017-11-08 14:38:09 +08:00
@baoanlol #53 玩的溜,国家不是说要统一消息推送的渠道吗,要是强制的话马老板家的东西也不得不加入其中吧
mikefy
2017-11-08 14:39:59 +08:00
我这边也提示,微信自己显示的就几兆,系统的流量统计里面显示的是 17M.....可能微信统计的只有聊天的流量,不包括朋友圈之类,估计连聊天图片都不计算在内
baoanlol
2017-11-08 14:52:27 +08:00
@jy02201949 感觉这个要搞出来有点久远。。(手动笑哭
houskii
2017-11-08 15:50:10 +08:00
这种 hotfix 相关的,直接扔给 play 商店让他下架啊 /斜眼笑
pq
2017-11-08 16:02:43 +08:00
我以前也是这么爱较真,后来我发现,与其与国产流氓们这么费心折腾,还不如弄个完全不放敏感资料的旧手机来玩,它爱咋流氓就咋流氓,反正不装手机卡,只用 wifi,通讯录也是空或都乱七八糟的。。。。
EricCartman
2017-11-08 16:06:28 +08:00
在海外就避免用微信了 telegram 多好
JAVAER
2017-11-08 16:26:44 +08:00
@wuyuanyi135 我目前只想到,逆向,然后找到微信里面专门解析的代码,这个应该可以吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/404522

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX