android的锁屏密码大家应该都不陌生,本文所讲的即是对此密码的破解方法。

适合平台:android

所需条件:已root,打开USB调试。

意义:几乎没用。

android的锁屏密码是连接一个3*3个点的图上面的点,要求如下:

至少4个点;

最多9个点;

无重复。

实际上,android系统将这9个点分别对应于0-8这9个数字,然后将连接的路径转换为这9个数字,并对其进行SHA1加密然后存储于一个文件中。数字对应如下:

0 1 2

3 4 5

6 7 8

比如一个大Z字型的密码,就是0124678,然后将这几个数字作为一个进行SHA1运算,再以16进制的形式存入/data/system/gesture.key文件当中。

破解方法1:

因为没有设置该密码手机将不会有这个文件的,而且如果没有这个文件,也不会要求输入锁屏密码。

所以方法很简单:adb连接上手机,删除/data/system/gesture.key文件。如下图:



破解方法2:

如果不想删除该文件,只是想知道密码的话,则可以读取该文件的数字,然后用暴力破解的方式进行猜解。由于密码是4至9位长度的数字(0-8),并且没有重复,再去除像0213这种不合法的密码(先连了首尾两个再连中间的点,这样的密码不可能存在。像路径为0213或0842等),生成密码词典并进行猜解,在电脑上几乎是秒破的。



该文件直接打开是乱码的,需要以16进制来查看。如下图:



以16进制读取该文件并转成字符串,然后生成由0至8组成的4至8位的数组,进行SHA1加密运算,并与上面的字符串对比。下面是我用电脑进行暴力猜解所生成的密码个数,以及最坏情况下所用时间:



共耗时0.975254947秒

复制代码

上面的密码个数不一定是最优解的个数,但应该没有漏了。破解android上这样一个锁屏密码,在我的G47(I5 CPU)电脑上所用时间约1秒。

在我的手机上进行破解的时间有点长,如下图是最坏情况下的破解结果:



由于猜解密码需要root权限,并且打开Adb调试,所以实际上此功能并没有多大用处,最多就是我借做android开发的朋友的手机(他们的都ROOT过并打开了USB调试)来看看他们的密码是什么,当然为能还需要他们先解锁下= =!。所以此文仅为技术交流。


原文转自:枫叶博客www.fengye123.com

更多相关文章

  1. android开发 加载so库的解析和出现的各种错误分析
  2. 在android 4.0 上面移植camera的一些心得 包括 单双camera 型号
  3. 集成Android免费语音合成功能(在线、离线、离在线融合),有这一篇文
  4. 跟我学Android应用开发 之 Android中资源文件的使用
  5. Android(安卓)数据库文件 db 的备份和重载
  6. 将android工程作为另一个工程的库
  7. 【移动安全实战篇】————5、Android屏幕解锁图案破解
  8. android二维码入库软件
  9. Android设计登录界面、找回密码、注册功能

随机推荐

  1. Android(安卓)Contacts(二)—— SMS 短信
  2. [Boot]Android系统启动-综述
  3. Android学习二:Resources
  4. Android一些关于分辨率和布局的设置
  5. android webview 遇到的问题:external/chr
  6. Android(安卓)framework源码之JNI实现过
  7. Android(安卓)使用 Ksoap2 出现的低级错
  8. 百度地图 android 定位Demo
  9. Android(安卓)通过Socket 和服务器通讯
  10. Android应用程序签名详解 简介