绕过Android应用程序模拟器检测

简介

在模拟器上测试一些android应用程序时,它会显示该应用程序与CPU不兼容或在模拟器上安装应用程序时出现错误,
我将向您展示如何轻松绕过该应用程序

案例

首先,您需要检查预先反编译的源代码,并检查包含“generic |”字符串的函数 模拟器| google_sdk“和函数如”isEmulator |“ 模拟器检测…等“…使用您的搜索技巧,并阅读代码
01.png

正如你所看到的,有一种叫做“checkIfDeviceIsEmulator”的方法来检查“finger print |” 模型| 品牌“和字符串像”genymotion | 模拟器”
如果你注意到……如果这个函数检测到模拟器,返回true语句,如果不是模拟器,返回false :face_with_raised_eyebrow:
好吧,我想你现在得到它

有趣的部分
现在,我们应该将这些值从true更改为false,以绕过此检测……但我们无法编辑源代码……实际上,您无法再次重新编译和使用此源代码……但您可以在smali代码中执行此操作:upside_down_face:
好吧,让我们做这个…
在smali代码中找到相同的文件名并搜索源代码中找到的相同字符串,直到获得第num行
02.png

正如你可以看到我们在源代码中看到的字符串前
向下滚动,直到你得到这个指令(“const / 4 v0,0x1”)
,这意味着返回true方法的声明(以简单的方式解释)…和十六进制值小写字节代码中的0x1表示真,所以我们将它从0x1更改为0x0

03.png

文章来源:https://0x00sec.org/t/how-to-bypass-emulator-detection-in-android-apps/6585