一种判断Android模拟器的思路

前段时间在测试一些手机、设备的时候顺手写了一些工具,由于当时现场的环境不佳,只能使用模拟器调试,无意中发现可以让模拟器拒绝服务,演示效果如下:

所以,除了通过各种行为特征检测模拟器,也可以通过是否存在某些漏洞来检测模拟器。

目前的模拟器中大多数采用了较老的Android版本,而这些Android的版本中包含了一些已知的漏洞,同时模拟器在自身的实现上也存在一些漏洞,顺着这个思路,可以找到不少能让模拟器无法使用的方法,并且能在普通权限下完成。类似于当初的nProtect,发现调试行为后,在Ring0使用out指令重启电脑。

当然,如果在生产代码中包含此类“Exploit”代码,很可能会引起不必要的法律风险。

发表评论