Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/happylishang/AntiFakerAndroidChecker
设备指纹 获取真实的IMEI AndroidId 序列号 MAC地址等,Android模拟器检测,检测Android模拟器 ,作为可信DeviceID,应对防刷需求等 Android设备指纹 How to detect Android emulator
https://github.com/happylishang/AntiFakerAndroidChecker
Last synced: 13 days ago
JSON representation
设备指纹 获取真实的IMEI AndroidId 序列号 MAC地址等,Android模拟器检测,检测Android模拟器 ,作为可信DeviceID,应对防刷需求等 Android设备指纹 How to detect Android emulator
- Host: GitHub
- URL: https://github.com/happylishang/AntiFakerAndroidChecker
- Owner: happylishang
- License: apache-2.0
- Created: 2017-08-03T11:00:47.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-12-13T02:30:58.000Z (11 months ago)
- Last Synced: 2024-04-13T23:17:50.105Z (7 months ago)
- Language: Java
- Homepage:
- Size: 8.6 MB
- Stars: 1,272
- Watchers: 41
- Forks: 269
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 非商业牟利项目
## 本库目标:
* 1 检测运行设备是否模拟器
* 2 获取相对真实的IMEI AndroidId 序列号 MAC地址等
### 用法 MavenCentralimplementation 'io.github.happylishang:antifake:1.7.0'
Java代码中:模拟器检测激进做法
EmulatorDetectUtil.isEmulatorFromAll(context)模拟器保守做法
AndroidDeviceIMEIUtil.isRunOnEmulator(context) //特征值判断
非UI进程启动检测,回调上报
EmuCheckUtil.checkEmulatorFromCache(getApplicationContext(),
new EmuCheckUtil.CheckEmulatorCallBack() {
@Override
public void onCheckSuccess(boolean isEmulator) {
}@Override
public void onCheckFaild() {
}
})#### 1、检测是否模拟器原理 [ Android模拟器识别技术](http://www.jianshu.com/p/1db610cc8b84)
ARM与模拟器采用的Simple X86在架构上有很大区别,可利用SMC(自修改代码+mmap)甄别
原文链接 [ Android模拟器识别技术](http://www.jianshu.com/p/1db610cc8b84)
#### 2、获取真实的Android设备信息
* 可以采用一些系统隐藏的接口来
* 可以自己实现通过Binder通信
* 可以采用Native方式获取设备信息,避免被Xposed Hook#### Android8.0之后,序列号的获取跟IMEI权限绑定,如果不授权电话权限,同样获取不到序列号
#### Android 10.0之后,序列号、IMEI 非系统APP获取不到
#### Android 11.0之后,序列号、IMEI MAC 非系统APP获取不到
java 1.8 demo更容易跑起来