Skip to content

Android模拟器检测,检测Android模拟器 ,获取相对真实的IMEI AndroidId 序列号 MAC地址等,作为DeviceID,应对防刷需求等 How to detect Android emulator

License

Notifications You must be signed in to change notification settings

xiaoxun0808/CacheEmulatorChecker

 
 

Repository files navigation

严禁用于商业牟利

本库目标:

  • 1 检测运行设备是否模拟器
  • 2 获取相对真实的IMEI AndroidId 序列号 MAc地址等

用法 jcenter jcenter后续废弃

implementation 'io.github.happylishang:antifake:1.5.0'

用法 MavenCentral

   implementation 'io.github.happylishang:antifake:1.5.0'

Java代码中

  EmulatorDetectUtil.isEmulator(context)

1、检测是否模拟器原理 Android模拟器识别技术

ARM与模拟器采用的Simple X86在架构上有很大区别,可利用SMC(自修改代码+mmap)甄别

原文链接 Android模拟器识别技术

2、获取真实的Android设备信息

  • 可以采用一些系统隐藏的接口来
  • 可以自己实现通过Binder通信
  • 可以采用Native方式获取设备信息,避免被Xposed Hook

Android8.0之后,序列号的获取跟IMEI权限绑定,如果不授权电话权限,同样获取不到序列号

Android 10.0之后,序列号、IMEI 非系统APP获取不到

Android 11.0之后,序列号、IMEI MAC 非系统APP获取不到

About

Android模拟器检测,检测Android模拟器 ,获取相对真实的IMEI AndroidId 序列号 MAC地址等,作为DeviceID,应对防刷需求等 How to detect Android emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 86.1%
  • C 8.3%
  • Makefile 5.6%