admin 发表于 2022-5-30 15:44:30

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.soinit.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-propinit.svc.microvirtd
夜神模拟器/system/bin/nox
/system/bin/nox-prop
/system/bin/nox-vbox-sf
/system/bin/nox-setpropinit.svc.noxd
海马玩/system/lib/libdroid4x.so
/system/bin/droid4x
/system/bin/droid4x-prop
/system/bin/droid4x-vbox-sf
/system/bin/droid4x-setpropinit.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.soinit.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-arminit.svc.bstfolderd
init.svc.bstsvcmgrtest

因为模拟器自带 root 权限,默认打开 ADB 调试,各种**助手和插件都很差,对手机游戏的安全威胁也很高。这些玩家应该是关注群体的焦点。此外,模拟器玩家的游戏充值不方便,小型黄金工作室也主要使用模拟器作为平台,用户价值不高。一些大型游戏制造商(T)会选择与优秀的模拟器供应商合作,提供专用的模拟器,以满足一些隐形土豪在工作中的需求,同时为了安全起见。



页: [1]
查看完整版本: Android 模拟器识别相关的事