-
用户层行为和数据
- 通话记录,联系人,短信,相册等是否为空
- 应用程序安装数量很少或者只有模拟器上默认的应用程序
- 是否装有常见的应用(国内) Q Q,微信,淘宝等
-
API Demos、Dev Tools等其他模拟器特有的应用程序或特有的属性
- 模拟器里app使用internet调用拨号键会出现crash
-
Android系统层特性
-
调用TelephonyManager API的模拟器参数的检测
- 模拟器和真机在通信状态和信息上的不同
-
Build静态字段检测
- android.os.Build类包含设备硬件和版本信息
-
电池状态与电量和充电状态
- 模拟器的电池温度为0和电量始终为50%
- 检测真机特有的wifi,GPS,蓝牙,温度传感器
-
/system/build.prop属性文件检
- .prop文件定义了系统初始(或永久)的一些参数属性、功能的开放等
-
Linux系统层特性
-
内核文件系统/proc目录检测
- 读取/proc/cpuinfo,cpu包含有golfish
- 读取/proc/tty/drivers,驱动信息包含goldfish
- 真机下都有mmcblk0分区,模拟器没有分区信息
-
设备文件特征检测
- 模拟器上存在/dev/qemu_pipe,/dev/socket/qemud等特有的文件
-
执行shell命令检测
- cat,getprop等shell命令可以获取当前系统的属性信息
-
模拟器体系结构(x86vs arm)
- 任务调度检测
-
cache特性检测
- RM的一级缓存分为I-Cache(指令缓存)与D-Cahce(数据缓存),而X86只有一块缓存