绕过Android虚拟机,如何绕过android应用程序中的模拟器检测

如何绕过android应用程序中的模拟器检测

介绍

在模拟器上测试一些android应用程序时,它总会显示应用程序与CPU不兼容,或者在模拟器上安装应用程序时会出现一些错误

我会告诉你如何轻松绕过

留意

这可能不适用于某些应用程序,你将不得不使用另外一种技术......这只是常见的方式......很聪明

准备

好吧,现在你应该使用(jadx或jd-gui)和smali字节代码(apktool)将你的android应用反编译为源代码

开始

首先,您需要检查预先反编译的源代码并检查包含“generic |”emulated| google_sdk“例如”isEmulator的函数 |“ emulatedDetection...等“...使用您的搜索技巧,并阅读代码

d27618ec897f6d24c32dc3b61ddd5d2cb8232aa9_1_690x126.png

正如你所看到的,有一种叫做“checkIfDeviceIsEmulator”的方法来检查“finger print |” model| brand“和像”genymotion |emulated”的模拟器

如果您注意到...如果此函数检测到仿真器,则返回true语句,如果不是仿真器,则返回false:

好吧,我认为你现在就明白了。

有趣的部分

现在我们应该将这些值从true更改为false,以绕过此检测...但我们无法编辑源代码......实际上,您不能再次重新编译和使用此源代码......但您可以在smali代码中执行此操作:

好吧,让我们做这个...

使用smali代码转到相同的文件名,然后搜索源代码中找到的相同字符串,直到获得行号

a119707db752254f64ed46bc30dc83e813d99261_1_690x342.png

正如你向下滚动直到你得到这个指令(“const / 4 v0,0x1”)之前在源代码中看到的字符串,它意味着该方法返回真正的语句(以简单的方式解释它)......在smail

代码中小数字节代码中的十六进制值0x1表示真,所以我们将它从0x1更改为0x0

764a21e41bcdde0b8c54d4fc0ad4e64838f472c7_1_690x242.png

现在我们已经完成了,您可以重新编译smali字节代码,并在模拟器上测试应用程序。

确保你可以用其他方式完成它......我认为这是最简单的方法

有事尽管问我

How to bypass emulator detection in android apps

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值