specdeviceinfo
2026-05-24 · 现场笔记

安卓设备信息能不能用来识别假机和模拟器?

首发于 X(@DevCheckAI)
安卓假机识别封面

短答案:能。长答案花了我两个月和 10 台真机验证。

安卓设备会把 20 到 30 项识别字段泄露给任意应用 —— MANUFACTURER、BRAND、MODEL、API 级别、ABI 列表、传感器集合、GPU 厂商字符串、逐核 CPU 数量、屏幕 DPI,一路到底。单独看,大多数可以伪造;组合起来,就是模拟器、云手机、山寨机、可疑翻新机都难以干净伪造的一枚指纹。

实测中真正管用的几条:

  • 模拟器 —— 传感器列表几乎永远错(要么太少,要么全是「generic」)
  • 云手机 / Docker 化虚拟设备 —— GPU 厂商和 ABI 列表跟宣称机型对不上
  • 山寨硬件 —— CPU 核心数跟宣传的芯片对不上
  • 可疑翻新 —— Build.FINGERPRINT 结构畸形,或者 API 级别跟安卓版本兜不上

我拿大约 10 台真机跟社区硬件指纹数据做交叉比对,命中率比我预期的要高:每一台真机都落在自己机型的指纹簇里;三台假的 —— 一台云手机、一台 BlueStacks 实例、一台山寨「S22 Ultra」—— 每台至少踩爆 3 条交叉核验。

这个结果就是 DevCheck AI v1.0.4 里硬件可信度评分的原型。

最初的那个问题

当时我在 X 上问,买二手手机之前,有没有人真的想要这么一个东西 —— 还是这个需求太小众,不值得做。

答案是很明确的想要。v1.0.4 上了 8 条交叉核验 —— CPU 核心数、API ↔ 安卓版本、64 位 ABI 一致性、Build.FINGERPRINT 结构、SoC ↔ GPU 厂商配对、基础传感器存在、相机存在、ABI ↔ os.arch —— 收敛成一个 0–100 分数,配彩色判定。功能页把每一条查什么、失败会扣多少分讲清楚了。