关于 Android 模拟器识别的事

市场上发行的模拟器大多是 VirtualBox + Android X86 + Houdini 方案,以 VirtualBox 为虚拟环境,搭载 Android X86 系统,使用 Intel Houdini 翻译执行 ARM 指令。

关于 Intel Houdini 的讨论,参见 《Intel Houdini 比 QEMU 快在哪里?》

某些优秀模拟器在运行只带有 ARM 动态库的游戏时,在游戏内通过 __system_property_get 获取的的 ABI 将会是 arm,而不是 x86,访问 /proc/cpuinfo 获取到的 CPU 也是虚假的 ARM 处理器信息,欺骗游戏认为自己运行在一个 ARM 环境中。

使用电量变化、WIFI信号变化、蜂窝信号变化、陀螺仪等动态变化特征是最好的方法,但是需要一段时间的特征采集,才能判断是否运行在模拟器中,适合作为一种补充。如某 FPS 手游,新玩家进入后,分配到的游戏区不是模拟器专用游戏区,而当进入第二局游戏的时候,就被分配到了模拟器专区。

比较正经的 Android X86 + Houdini 模拟器,如 Genymotion,都会存在 /system/lib/libhoudini.so,而这个特征广为人知,国内处理版本比较老的模拟器外,基本上都隐藏了 libhoudini.so

下面介绍一些还能使用的静态特征

模拟器文件特征属性特征
VirtualBox/system/bin/androVM-prop
/system/bin/androVM-vbox-sf
/system/bin/androVM_setprop
/system/bin/get_androVM_host
/system/bin/mount.vboxsf
/system/lib/egl/libGLES_emulation.so
/system/lib/egl/libGLESv1_CM_emulation.so
/system/lib/egl/libGLESv2_emulation.so
init.svc.vbox86-setup
androVM.vbox_dpi
androVM.vbox_graph_mode
AVD/system/bin/qemu_propsro.kernel.android.qemud
init.svc.qemud
逍遥模拟器/system/bin/microvirtd
/system/bin/microvirt-prop
init.svc.microvirtd
夜神模拟器/system/bin/nox
/system/bin/nox-prop
/system/bin/nox-vbox-sf
/system/bin/nox-setprop
init.svc.noxd
海马玩/system/lib/libdroid4x.so
/system/bin/droid4x
/system/bin/droid4x-prop
/system/bin/droid4x-vbox-sf
/system/bin/droid4x-setprop
init.svc.droid4x
天天模拟器/system/bin/ttVM-prop
/system/bin/ttVM-vbox-sf
/system/bin/ttVM-setprop
/system/lib/egl/libEGL_tiantianVM.so
/system/lib/egl/libGLESv1_CM_tiantianVM.so
/system/lib/egl/libGLESv2_tiantianVM.so
init.svc.ttVM_x86-setup
ttVM.vbox_dpi
BlueStacks/system/bin/bstcmd_shim
/system/bin/bstfolderd
/system/bin/bstsyncfs
/data/.bluestacks.prop
/system/lib/egl/libGLES_bst.so
/system/lib/egl/libGLES_bst.so-arm
init.svc.bstfolderd
init.svc.bstsvcmgrtest

由于模拟器自带 root 权限,默认开启 ADB 调试,各种**助手和外挂穷出不尽,对手游的安全威胁度极高,该类玩家应为重点关照群体。另外,模拟器玩家游戏充值不便,小打金工作室也主要利用模拟器作为平台,该类用户价值不高。

某些较大规模的游戏厂商(T)会为了迎合某些上班隐形土豪群体的需要,同时也为了安全起见,会选择与优秀的模拟器供应商合作,提供专用的模拟器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值