更新记录
1.0.2(2026-06-03)
- 增强桌面虚拟化环境识别:纯
x86/x86_64ABI 统一显示为桌面虚拟化环境,避免仅命中 ABI 时误显示为官方 Android Emulator。 - 补充 Android-x86、Bliss OS、PrimeOS、Phoenix OS、ChromeOS/ARC、WSA 细分规则,覆盖 Build、getprop 和 Android-x86 常见文件特征。
- 维持 Android-only 发布口径;不新增敏感权限,不申请
QUERY_ALL_PACKAGES,不读取 IMEI、手机号、SIM 或设备序列号。
1.0.1(2026-06-03)
- 增强雷电新版识别:补充
ldmnq / dnplayer / ldconsole / ldinit、新版包名、雷电文件路径、x86/x86_64 ABI 和伪装 Build 组合特征。 - 优化逍遥/MEmu 识别:补充
com.microvirt.launcher2,厂商口径显示为逍遥/MEmu。 - 增强夜神可改设备识别:补充
900250224 + x86/x86_64 ABI组合规则,夜神修改为HUAWEI LIO-AN00等设备后仍可优先推断为夜神。 - 增强夜神 Samsung 伪装样本识别:补充
Samsung SM-G977N / beyond1q / beyond1qlteue / universal8895 + x86/x86_64 ABI组合规则,避免只显示为通用 Android Emulator。 - 优化 Android 系统属性证据:同一规则去重展示,
getprop属性值脱敏,避免页面日志展示模拟器伪造的 IMEI/IMSI/手机号/SIM 序列号样式值。 - Android 未命中任何正向信号时返回
diagnostic/no-positive-signal-build-snapshot,便于根据新模拟器样本补规则。 - 插件市场平台配置仅勾选 Android 真实支持平台;iOS、Harmony、Web、小程序保持明确降级,不伪造检测成功。
- Android Manifest 仍仅声明
<queries>,不申请QUERY_ALL_PACKAGES、电话、短信或设备标识相关权限。
1.0.0(2026-06-03)
- 首发
getEmulatorInfoSync(options?),返回模拟器检测详细报告。 - Android 端支持 Build 字段、系统属性、包名可见性、文件特征、传感器和硬件弱信号综合评分。
- 调整主流模拟器强特征评分:雷电、MuMu、夜神、BlueStacks、Genymotion、Android Emulator 等核心强特征可直接达到默认判定阈值
55。 - iOS、Harmony、Web、微信小程序、支付宝小程序提供明确降级结果,不伪造模拟器检测成功。
- Android Manifest 仅声明
<queries>,不申请QUERY_ALL_PACKAGES、电话、短信或设备标识相关权限。
平台兼容性
uni-app(4.84)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | × | × | √ | √ | √ | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.84)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | × | × | × |
lizhao-emu-detect
lizhao-emu-detect 是一个模拟器环境检测 UTS API 插件,面向 Android App 风控场景,通过多信号评分判断当前 App 是否运行在模拟器中。插件重点覆盖雷电、MuMu、夜神、BlueStacks、逍遥/MEmu、Genymotion、Android Studio Emulator 等常见环境。
当前版本:1.0.2
1.0.2 修复摘要
- 增强桌面虚拟化环境识别,将纯
x86/x86_64归类为桌面虚拟化环境,并补充 Android-x86、Bliss OS、PrimeOS、Phoenix OS、ChromeOS/ARC、WSA 细分规则。 - 优化 x86/x86_64 ABI 厂商口径,避免仅命中 ABI 时误显示为官方 Android Emulator。
- 补充 PC Android、ChromeOS/ARC、WSA 的 Build、getprop 和文件特征守卫,提升非传统商业模拟器环境识别质量。
1.0.1 修复摘要
- 增强雷电新版识别,覆盖
ldmnq / dnplayer / ldconsole / ldinit、新版包名、x86/x86_64 ABI 和伪装 Build 组合特征。 - 优化逍遥/MEmu 识别,补充
com.microvirt.launcher2,厂商口径显示为逍遥/MEmu。 - 增强夜神可改设备识别,覆盖
900250224构建号搭配x86/x86_64ABI 的组合特征,设备改成HUAWEI LIO-AN00等机型后仍可优先推断为夜神。 - 增强夜神 Samsung 伪装样本识别,覆盖
Samsung SM-G977N / beyond1q / beyond1qlteue / universal8895搭配x86/x86_64ABI 的组合特征。 - Android
getprop证据去重并脱敏,保留命中属性名,不展示属性值。 - 平台配置只勾选 Android 真实支持平台,iOS、Harmony、Web、小程序保持明确降级。
支持平台
| 平台 | 是否支持 | 说明 |
|---|---|---|
| Android App | 支持 | 真实检测,返回评分、风险等级、厂商推断和命中证据 |
| iOS App | 不支持 | 返回 supported=false,插件市场配置不勾选 |
| Harmony App | 不支持 | 返回 supported=false,插件市场配置不勾选 |
| Web/H5 | 不支持 | 返回 supported=false,插件市场配置不勾选 |
| 微信小程序 | 不支持 | 返回 supported=false,插件市场配置不勾选 |
| 支付宝小程序 | 不支持 | 返回 supported=false,插件市场配置不勾选 |
安装说明
将插件放入项目 uni_modules/lizhao-emu-detect 后,从插件根目录导入:
import { getEmulatorInfoSync } from '@/uni_modules/lizhao-emu-detect'
不要直接导入 utssdk/index.uts 或平台目录文件。
API 列表
getEmulatorInfoSync(options?)
getEmulatorInfoSync(options?)
说明
获取当前 App 运行环境的模拟器检测报告。
支持平台
Android 真实检测;iOS / Harmony / Web / 小程序返回明确降级结果,插件市场配置不勾选。
参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| options | EmulatorDetectOptions | 否 | 检测参数 | { threshold: 55, includeSignals: true, includeDeviceInfo: true, includeWeakSignals: true } |
threshold / includeSignals / includeDeviceInfo / includeWeakSignals / extraBuildKeywords / extraPropertyKeywords / extraPackageNames / extraFilePaths |
| options.threshold | number | 否 | 判定为模拟器的评分阈值,可由业务手动设置;默认 55 |
55 |
1-100 |
| options.includeSignals | boolean | 否 | 是否返回命中证据 | true |
true / false |
| options.includeDeviceInfo | boolean | 否 | 是否返回公开设备信息 | true |
true / false |
| options.includeWeakSignals | boolean | 否 | 是否启用弱信号 | true |
true / false |
| options.extraBuildKeywords | Array |
否 | 追加 Build 字段关键字 | 无 | 无 |
| options.extraPropertyKeywords | Array |
否 | 追加系统属性关键字 | 无 | 无 |
| options.extraPackageNames | Array |
否 | 追加包名检测规则 | 无 | 无 |
| options.extraFilePaths | Array |
否 | 追加文件路径检测规则 | 无 | 无 |
返回值
| 字段 | 类型 | 说明 |
|---|---|---|
| supported | boolean | 当前平台是否支持真实检测 |
| platform | string | 平台标识 |
| isEmulator | boolean | 是否判定为模拟器 |
| score | number | 总评分,最高 100 |
| riskLevel | string | 风险等级:none / low / medium / high |
| vendor | string | 推断出的模拟器厂商或类型 |
| signals | Array |
命中证据列表 |
| deviceInfo | EmulatorDeviceInfo | null | 公开设备信息快照 |
| reason | string | 中文结果说明或降级原因 |
风险等级
| 等级 | 分数 | 说明 |
|---|---|---|
| high | >= 75 |
高风险模拟器环境 |
| medium | 55-74 |
达到默认模拟器判定阈值 |
| low | 25-54 |
有可疑信号,但默认不直接拦截 |
| none | < 25 |
未发现明显模拟器信号 |
说明:
vendor是厂商推断结果,isEmulator是最终判定结果。Android 默认阈值为55,雷电、MuMu、夜神、BlueStacks、逍遥/MEmu、Genymotion、Android Studio Emulator 等主流模拟器的核心 Build、系统属性、核心包名、ABI 或文件强特征会直接达到默认阈值;业务额外追加规则和硬件弱信号仍保持较低分,避免真机误伤。
错误码
| 错误码 | 含义 | 说明 |
|---|---|---|
| 9040001 | unsupported | 当前平台不支持真实检测 |
| 9040002 | context unavailable | Android Context 不可用 |
当前同步 API 不主动抛出错误;采集失败会进入 reason 或 signals 的 info 项。
检测信号说明
Android 端会综合以下信号评分:
- Build 字段:
FINGERPRINT / MODEL / MANUFACTURER / HARDWARE / PRODUCT / BRAND / DEVICE / BOARD / TAGS / SUPPORTED_ABIS,其中x86 / x86_64ABI 会作为强模拟器或桌面虚拟化信号。 - 系统属性:通过
/system/bin/getprop做 best-effort 读取,检测ro.kernel.qemu、goldfish、ranchu、vbox86、nox、mumu、ldplayer、ldmnq、dnplayer、ldconsole、ldinit、microvirt、bluestacks、genymotion、android_x86、android-x86、bliss、primeos、phoenixos、chromeos、cheets、arcvm、windows subsystem等关键字;属性证据会脱敏,仅保留属性名和命中规则,不展示属性值。 - 包名/启动器:检测雷电、MuMu、夜神、BlueStacks、Genymotion、逍遥/MEmu 等已知包名;雷电覆盖
com.ldmnq.launcher / com.ldmnq.launcher3 / com.ldmnq.appstore / com.ldmnq.installer / com.ldmnq.store / com.android.ld.appstore,逍遥/MEmu 覆盖com.microvirt.launcher / com.microvirt.launcher2。 - 文件特征:检测 QEMU、Goldfish、BlueStacks、夜神、雷电
ldinit / ldmountsf / ldnetwork / ldconsole / libldutils.so等常见文件路径。 - 弱信号:传感器数量、缺失相机/GPS/蓝牙/电话 feature。弱信号分数低,不会单独决定模拟器结论。
- 诊断信号:如果所有正向规则都未命中,会返回
diagnostic/no-positive-signal-build-snapshot,包含公开 Build/ABI 快照,便于根据新模拟器样本继续补规则。
iOS、Harmony、Web、小程序端当前不作为插件市场真实支持平台,调用时返回 supported=false 与明确降级原因,不伪造检测成功。
权限说明
- 不读取 IMEI。
- 不读取手机号。
- 不读取 SIM 信息。
- 不读取设备序列号。
getprop证据只返回脱敏后的属性名,不返回属性值。- 不申请电话权限。
- 不申请短信权限。
- 不申请
QUERY_ALL_PACKAGES。
Android 11+ 的包名检测依赖 AndroidManifest.xml 中的 <queries> 精准声明。若新增或修改包名规则后需要让包名检测生效,需要重新打并安装 Android 自定义基座。
雷电新版可能会把 brand / manufacturer / model / fingerprint 伪装成真机字段。若日志中 supportedAbis 包含 x86_64 或 x86,插件会按桌面模拟器环境强信号计分;若同时命中 fingerprint 中的雷电样本构建片段,会优先推断厂商为雷电。
夜神部分版本允许用户修改设备品牌和型号,因此不能只依赖 HUAWEI LIO-AN00 或 Samsung SM-G977N 这类可改字段。若 fingerprint 中出现夜神样本构建号 900250224,并且同时暴露 x86_64 或 x86 ABI,插件会追加夜神可改设备组合强信号,厂商优先显示为夜神。另保留 Samsung SM-G977N / beyond1q / beyond1qlteue / universal8895 的样本组合规则。
仅命中 x86_64 或 x86 ABI 时,插件会优先归类为 桌面虚拟化环境,避免把 Android-x86、ChromeOS/ARC、WSA 等环境误写成官方 Android Emulator。若 Build 或系统属性进一步命中 android_x86 / android-x86 / bliss / primeos / phoenixos / chromeos / cheets / arcvm / windows subsystem,会细分为 Android-x86、Bliss OS、PrimeOS、Phoenix OS、ChromeOS/ARC 或 WSA。
自定义基座说明
本插件没有三方 SDK 依赖。以下情况需要重新打 Android 自定义基座:
- 首次接入插件并希望 Android 11+ 包名检测生效。
- 修改
utssdk/app-android/AndroidManifest.xml的<queries>。 - 新增商业模拟器包名检测规则并写入 Manifest。
不运行自定义基座时,Build、getprop、文件和传感器信号仍可用,但包名可见性可能受限。
示例代码位置
- 项目演示页:
pages/emulatorDetector/emulatorDetector.vue - 插件内部示例:
uni_modules/lizhao-emu-detect/example/index.vue
uni-app 调用示例
import { getEmulatorInfoSync } from '@/uni_modules/lizhao-emu-detect'
const report = getEmulatorInfoSync({
threshold: 55,
includeSignals: true,
includeDeviceInfo: true
})
if (report.supported && report.isEmulator) {
console.log('命中模拟器环境', report.vendor, report.score, report.signals)
}
uni-app x 调用示例
import { getEmulatorInfoSync } from '@/uni_modules/lizhao-emu-detect'
const report = getEmulatorInfoSync({
threshold: 55,
includeSignals: true,
includeDeviceInfo: true,
includeWeakSignals: true
})
console.log('模拟器检测报告:' + JSON.stringify(report))
注意事项
- 模拟器检测本质是猫鼠游戏,雷电、MuMu、夜神、BlueStacks 等主流模拟器会随版本伪装部分字段,因此不要只依赖单个 Build 字段。
- 建议业务侧同时结合账号、设备行为、网络、登录历史、服务端策略做综合风控。
- 默认阈值为
55,可通过threshold手动调整;建议先观察真机和目标模拟器样本,再决定是否提高或降低阈值。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 6483
赞赏 5
下载 12142104
赞赏 1918
赞赏
京公网安备:11010802035340号