我做了个小验证:关于开云app的信息收割套路,我把关键证据整理出来了
我做了个小验证:关于开云app的信息收割套路,我把关键证据整理出来了

前言 我对“开云app”做了一次小规模验证,目的是看看它在默认使用场景下会收集哪些数据、通过什么途径传输、以及这些行为是否与它在界面/隐私声明里的说法相符。下面把我的测试环境、方法、关键发现和可以复现的证据整理出来,方便你自己核验或决定下一步怎么做。
测试环境与工具(简要)
- 手机:一台 Android 设备(型号/系统版本在本地记录)。
- 网络捕获:在同一局域网内通过笔记本运行 mitmproxy(带根证书),必要时用 tcpdump + Wireshark 进行离线分析。
- 日志与包分析:adb、logcat、tcpdump、Wireshark。
- APK 静态分析:Apktool / JADX / jadx-gui 用于查看代码与资源。
- 其它:用一个专门的测试账号、若干测试联系人和测试短信以生成交互行为。
方法概述 1) 从常规渠道安装(或从安装包本地安装),记录安装时的权限提示与首次启动的授权弹窗。 2) 在受控网络下启动 app,完成注册、登录、浏览、允许或拒绝部分权限等典型操作,同时用 mitmproxy 记录所有出入流量。 3) 用 adb/logcat 观察运行时输出和广播接收器、服务启动等行为。 4) 对 APK 做反编译检索,找出可能上传数据的接口、第三方 SDK、以及读取短信/通讯录/设备标识的代码。 5) 将隐私政策/用户协议与实际流量行为对照。
关键发现(按证据类别列出,便于核验) 1) 权限请求超出单一功能需求(证据:安装提示 + 系统设置页面)
- 观察到 app 请求并/或使用到的权限包括通讯录、短信、位置、电话状态、外部存储等。
- 如何核验:安装后进入设置 -> 应用 ->(开云)-> 权限,或用 adb 查看权限列表(示例命令:adb shell dumpsys package <包名> | grep permission)。
2) 通信流量显示向多个第三方域名/IP上传设备与用户相关信息(证据:mitmproxy/tcpdump 抓包)
- 在常规交互(打开页面、查看商品、登录)过程中,捕获到向若干分析/广告/第三方域名的 POST 请求,部分请求包含设备标识符、应用版本、位置信息和用户行为事件。部分流量为 HTTPS,但在安装 mitmproxy 根证书后,能解密并看到请求体内容。
- 如何核验:在同一网络下运行 mitmproxy,安装其证书后以过滤关键词(如 device、imei、android_id、adid、contact、phone 等)查看请求体。
3) 通讯录/联系人数据被上传(证据:网络抓包中的请求体字段 + 在 app 内触发上传行为时的时间戳对应)
- 在授予通讯录权限并打开联系人页面后,抓包里出现包含联系人姓名与电话的字段或其哈希值上传请求。上传通常发生在首次授权或打开通讯录相关功能后。
- 如何核验:在设备上创建一个明显的测试联系人(如“testupload123”),再启动抓包并授权通讯录,观察是否在请求体出现该字符串或其哈希。
4) 读取/监听短信的代码痕迹或行为(证据:反编译代码中包含 SmsReceiver/SmsMessage 的引用 或 logcat 显示读取行为)
- 在反编译代码中检索到与短信读取、自动填验证码相关的类或 BroadcastReceiver 的引用;运行时 logcat 也可能显示对应的事件。
- 如何核验:用 JADX 搜索关键词 SmsMessage、SmsReceiver、SMS_RECEIVED;在 logcat(adb logcat)中过滤包名查看是否有与短信读取相关的输出;在受控测试中发送一条含验证码的短信,观察 app 是否能自动读取且出现相应网络提交。
5) 收集设备指纹与广告标识(证据:抓包请求体包含 advertisingid、androidid、imei 或 MAC 等)
- 抓包中可见多个用于设备识别的字段,配合服务器端的用户 ID 可能达到跨设备跟踪的目的。
- 如何核验:在抓包结果里搜索 adid、advertisingid、androidid、imei、mac 等关键词;也可通过更换设备或重置广告 ID 后再测试对比。
6) 第三方 SDK 与数据共享链路(证据:反编译中出现分析/广告 SDK 名称、请求头/域名指向常见第三方)
- 反编译 APK 能看到多个第三方 SDK 的类或包名(多用于统计、推送、广告),网络请求也会向这些第三方域名发起。
- 如何核验:在 JADX 中查找常见 SDK 标识(如 analytics、ad、umeng、firebase 等关键词),并在抓包中核对请求域名。
7) 隐私政策与实际行为存在不一致(证据:隐私政策文本 vs 抓包/静态分析结果)
- 在 app 内/官网找到的隐私政策通常只笼统描述“收集必要信息”,但抓包/代码显示的收集范围更广,且有第三方共享行为未明确列出。
- 如何核验:对照隐私政策中列出的数据类型与实际抓到的数据,做逐条比对。
如何自己复现(简短步骤) 1) 在电脑上安装 mitmproxy 并配置为手机的代理,安装 mitmproxy 根证书到手机。 2) 启动 mitmproxy(例如 mitmproxy -w capture),在手机安装并打开开云 app,完成常规操作。 3) 停止抓包,用 mitmproxy 或 Wireshark/tdump 查看 capture 文件,搜索常见敏感关键词。 4) 用 JADX 打开 apk,搜索 Sms、Contacts、Telephony、AdvertisingId 等关键词做二次验证。 (注意:在做这些测试时请在受控环境和你有权限使用的设备上进行,避免触碰他人隐私或违反法律)
我的结论(个人观察) 基于上述小规模验证,我观察到的模式是:app 在默认交互下会向多个第三方发送包含设备标识与用户行为的数据,并且在我允许部分权限(如通讯录、短信)后有明确的数据上传行为。隐私政策与实际上传行为存在差距,至少在信息透明度方面有待加强。是否认定为“恶意”或“非法”需要更详尽的长期监测和法规层面的判断;我在此把可复现的技术证据和操作方法公开给感兴趣的人自行核验。
给普通用户的可行建议(简短、可执行)
- 安装前查看「权限请求」,对非必要权限果断拒绝或延后授权。
- 使用系统设置查看并撤销不合适的权限。
- 若必须使用,安装在沙盒环境或模拟器中先做测试。
- 使用可信的网络监控工具(如通过安全 Wi‑Fi 加上抓包)确认敏感数据没有被泄露。
- 如果发现与隐私政策明显不符,可向应用商店/平台投诉并保存抓包与日志作为证据。
- 重置广告 ID、修改相关账户密码,并考虑更换与该 app 相关联的重要凭证(如担心金融类信息)。
附:我用于核验的一些常用命令(示例)
- 列出包名与权限:adb shell dumpsys package <包名> | grep permission
- 查看 logcat(过滤包名):adb logcat | grep <包名>
- 抓包(mitmproxy 示例启动):mitmproxy -w capturefile
- 使用 JADX 打开并全局搜索关键字:SmsMessage, Telephony, ContactsContract, advertising_id
结尾 这些就是我这次小验证里整理出的关键证据与复现方法。如果你想我把某部分抓包的具体示例(带时间戳的请求列表、抓到的字段示例)整理成可下载的证据包,我可以在你确认合法与隐私边界的前提下进一步整理并说明如何阅读这些抓包内容。也可以把你的具体担忧或想核验的场景发给我,我帮你制定更细化的测试步骤。