您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

Android无视屏幕解锁保护界面破解

作者:佚名    责任编辑:admin    更新时间:2022-06-22

  1 原理

  Android存在三种屏幕解锁保护:图案解锁、PIN密码解锁和密码解锁。

  其界面分别如下:

  图表 1 图案解锁界面

Android无视屏幕解锁保护界面破解 三联

  图表 2 PIN密码解锁界面

  图表 3 密码解锁界面

  我们可以使用java.lang.Object.android.app.KeyguardManger中的子类KeyguardLock可以控制Disable掉这些屏幕锁界面,从而达到不用输入密码,直接过掉屏幕锁界面来使用手机主要使用KeyguardLock.disableKeyguard()和KeyguardLock.enableKeyguard()方法来Disable、enable屏幕锁界面

  2 代码说明

  Demo程序主要代码如下:

  //获取KeyguardManagerKeyguardManager manager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);

  If(manager.inKeyguardRestrictedInputMode()){

  //处于锁定界面,界面则通过KeyguardLock类方法来解锁

  KeyguardLock keyguard = manager.newKeyguardLock(getLocalClassName());

  keyguard.disableKeyguard();

  }

  需要权限:

  

  3 结论

  1.图案锁界面使用此方法

  调用disableKeyguard() 方法disable图案锁屏界面后,按home键会触发锁屏界面enable重新显示锁屏界面。

  2.Pin密码锁界面使用此方法

  调用disableKeyguard()方法后disable图案界面后,按home键会出现闪屏。不会返回主页面

  3.密码锁界面使用此方法

  调用disableKeyguard()方法后disable图案界面后,按home键会出现闪屏。不会返回主页面

  虽然不知道Google为什么提供这样一个api,但开发者利用此api几乎就可以使Android的屏幕锁保护功能形同虚设了,而且调用此方法后home键出现的异常现象应该是个bug吧。

  4 Demo

  由于屏幕锁定时通过电脑上豌豆荚等软件只能安装Apk,并不能启动apk,所以此Demo程序写成了开机启动,即当屏幕锁屏时,通过电脑豌豆荚等软件安装此软件后重启即可实现Pass掉屏幕锁界面。

  Android 2.2 ,2.3,4.0平台测试通过。