zoukankan      html  css  js  c++  java
  • 关于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_props ro.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)会为了迎合某些上班隐形土豪群体的需要,同时也为了安全起见,会选择与优秀的模拟器供应商合作,提供专用的模拟器。

    参考:https://blog.csdn.net/weixin_34132768/article/details/88833543

    参考:https://github.com/ysrc/Anti-Emulator

  • 相关阅读:
    java面试准备之基础排序——冒泡与选择排序
    PL/SQL 存储过程
    浅析Java中CountDownLatch用法
    tmux分屏幕
    two's complement
    angularJs中$controller的使用
    nodejs pipe实现大文件拷贝
    不错的网站
    echarts文档对照
    nodejs 项目的session验证
  • 原文地址:https://www.cnblogs.com/TravelingLight/p/15624561.html
Copyright © 2011-2022 走看看