刺激战场是如何检测你是用模拟器玩的 - 爱问答

(爱问答)

刺激战场是如何检测你是用模拟器玩的


1.传统的检测方法。

传统的检测方法主要是对模拟器的IMSI、IDS、默认文件等几个方面进行检测。

(1)默认号码


[java] view plain copyprivate static String[] known_numbers = {"15555215554", "15555215556",              "15555215558", "15555215560", "15555215562", "15555215564",              "15555215566", "15555215568", "15555215570", "15555215572",              "15555215574", "15555215576", "15555215578", "15555215580",              "15555215582", "15555215584"};  

(2)默认ID:


[java] view plain copyprivate static String[] known_device_ids = {"000000000000000"};  

(3)默认IMSI:


[java] view plain copyprivate static String[] known_imsi_ids = {"310260000000000"};  

(4)默认文件路径:


[java] view plain copyprivate static String[] known_files = {              "/system/lib/libc_malloc_debug_qemu.so",              "/sys/qemu_trace",              "/system/bin/qemu-props"};  

在得知了这些信息后,只需在运行时进行检测,如果检测结果和默认值吻合,那么检测设备便是模拟器。不过随着防反作弊技术的迭代,现在很多模拟器都可以改变这些值来逃避检测,所以上述传统方法在很多时候未曾达到开发者的预期效果。


2.基于模拟器cpu信息的检测。

成功率相较于传统方法,有了更高的成功率。

cpu信息检测主要是在cpu信息看看是否包含intel、amd等字段,很多模拟器目前对于cpu信息还无法进行模拟。

(1)读取cpu信息:


[html] view plain copypublic static String readCpuInfo() {         String result = "";         try {             String[] args = {"/system/bin/cat", "/proc/cpuinfo"};             ProcessBuilder cmd = new ProcessBuilder(args);               Process process = cmd.start();             StringBuffer sb = new StringBuffer();             String readLine = "";             BufferedReader responseReader = new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));             while ((readLine = responseReader.readLine()) != null) {                 sb.append(readLine);             }             responseReader.close();             result = sb.toString().toLowerCase();         } catch (IOException ex) {         }         return result;     }  

(2)进行判定:


[java] view plain copyString cpuInfo = readCpuInfo();  if ((cpuInfo.contains("intel") || cpuInfo.contains("amd"))) {return true;}  

类似的还有


[java] view plain copyString[] blockList = "google_sdk,sdk,sdk_x86,vbox86p".split(",");  

原理相同。


3.关键路径检测特定模拟器检测

前面2个方法在很大程度上已经可以鉴定出很多模拟器了,但是对于某些在反防作弊上同样热爱的模拟器,需要特定的检测方法。

bluestacks成功躲避了前两种检测方法,所以在这里给予其VIP的待遇。

以下是总结出来的一些bluestacks的关键路径:


[java] view plain copyprivate static String[] known_bluestacks = {"/data/app/com.bluestacks.appmart-1.apk", "/data/app/com.bluestacks.BstCommandProcessor-1.apk",             "/data/app/com.bluestacks.help-1.apk", "/data/app/com.bluestacks.home-1.apk", "/data/app/com.bluestacks.s2p-1.apk",             "/data/app/com.bluestacks.searchapp-1.apk", "/data/bluestacks.prop", "/data/data/com.androVM.vmconfig",             "/data/data/com.bluestacks.accelerometerui", "/data/data/com.bluestacks.appfinder", "/data/data/com.bluestacks.appmart",             "/data/data/com.bluestacks.appsettings", "/data/data/com.bluestacks.BstCommandProcessor", "/data/data/com.bluestacks.bstfolder",             "/data/data/com.bluestacks.help", "/data/data/com.bluestacks.home", "/data/data/com.bluestacks.s2p", "/data/data/com.bluestacks.searchapp",             "/data/data/com.bluestacks.settings", "/data/data/com.bluestacks.setup", "/data/data/com.bluestacks.spotlight", "/mnt/prebundledapps/bluestacks.prop.orig"     };  


检测方法:


[java] view plain copypublic static boolean checkBlueStacksFiles() {          for (int i = 0; i < known_bluestacks.length; i++) {              String file_name = known_bluestacks[i];              File qemu_file = new File(file_name);              if (qemu_file.exists()) {                  FkLog.e("Result : Find BlueStacks Files!");                  return true;              }          }          FkLog.e("Result : Not Find BlueStacks Files!");          return false;      }  


这种基于关键路径的检测,便可以成功的检测出bluestacks。


默认文件等几个方面进行检测,,

人家有特定的检测机制

可以的可以的

可以看看所玩游戏的说明书或简介,是如何交代的,应该可以解决问题。

查验功能选项

下一篇:黑道圣徒3,准星对着人打,达不到,必须对着右下角打,就连身上的马赛克,都会平移到偏右下的位置,

上一篇:求一个消除类单机游戏的名字

热门标签:
我的世界 LOL 绝地求生 王者荣耀 吃鸡 英雄联盟 GTA 荒野行动 使命召唤 穿越火线 魔兽世界 网游 植物大战僵尸 造梦西游 逆战 排位 qq飞车 阴阳师 楚留香 斗地主 坦克世界 守望先锋 星际战甲 蜀门手游 300英雄
最新更新:
原神恢复如初解密-原神恢复如初任务攻略 原神万叶配队-原神万叶阵容搭配 原神4.0水主命座-原神4.0水主技能 原神娜维娅武器-原神娜维娅技能怎么用 原神芙卡洛斯水神什么时候出-原神芙卡洛斯水神命座 原神角色强度排行-原神林尼等级突破材料 原神角色强度排行-原神林尼天赋材料 原神fes在哪里买票-原神fes什么时候开票 原神林尼值得抽吗-原神林尼技能介绍 原神4.1版本什么时候上线-原神4.1版本是几月几号 光遇有友节任务怎么做-光遇有友节任务攻略 逆水寒手游一曲阳关怎么做-逆水寒手游一曲阳关任务 逆水寒手游宋辽贺俊杰任务怎么做-逆水寒手游宋辽贺俊杰任务攻略 逆水寒春山笑奇遇攻略-逆水寒春山笑奇遇触发不了 逆水寒手游金镯疑案攻略-逆水寒手游攻略