迷宫密码


转载于:http://blog.csdn.net/unixcroot/article/details/8945499


近日在看雪坛子上闲逛,注意到了一篇帖子,提到了关于Android的密码破解。

可能有些人没有看到,我就重复的说一下了。

首先Android图形解锁有三个要求:

1、至少四个点
2、最多九个点
3、无重复点

恩,是这样,然后图形转换成数字,然后通过SHA1加密,最后存储。

好了,明白了这些,再看下点的规律。

从左上角起编号为 00,至右下角止编号为 08。

最终密文文件会保存到 /DATA/SYSTEM/GESTURE.KEY

知道地址了,我们可以先加锁,然后在找到文件试试看。

在这我就不做演示,相信你都会的。

然后破解,至于破解思路,引用一下原作者的话:

从密码明文的编码来看,各单数位数字为零,双数位数字不重复地排列,并将这个排列进行单次SHA1运算。那么也就是说,通过数学计算可知,由於单数位确定,双数位不重复,则根据 Android 图案锁定规则可以设置的锁定图案总数是固定的,4个数的密码个数为9*8*7*6=3024。5个数的密码个数为15120个。6个数的密码个数为60480个。7个数的密码个数为181440个。8个数和9个数的密码个数都是36288个。也就是说一共密码的可能个数为985824个。由于密码复杂程度不高,破解相对容易。只要做一个字典进行暴力猜解就可以将正确密码解出来且速度很快。生成的字典50多m,暴力破解速度基本是秒破的。
暴力删掉方法,原来作者的思路是通过手机在开启USB调试功能下,通过命令:

  1. adb shell rm /data/system/gesture.key  

搞定的。

但是这样就有了局限性,有些人为了安全,并未开启USB调试。

所以有些时候就郁闷了。对此我无意间想到了一种方法,这个是在修复半成型的砖时,刷机学到的。

Android有个分区,叫fastboot。对,或许已经有人想到了,我们就是用这个。完全不用考虑是否开启USB调试。专业用语 线刷,也就是用的它。

当然不管USB调试还是fastboot,一切一切的大前提是安装驱动,至于驱动不用说了,相信广大的手机发烧友都知道的,豌豆荚类似的手机助手都有。

好,我们熟悉下fastboot:

  1. 从字面上来看是【快速启动】的意思,也算是一个刷机界面,不过比recovery更加底层.这个底层是更加接近硬件层的意思.  
  2. 两个都很重要,不过fastboot更为主要.当你不能进入recovery的时候,不要紧张,你还能进fastboot挽救,不过当你连fastboot都不能进入的时候,那可真就是砖了.手机需要送厂才能维修了。  
  3. 为了使用Fastboot功能.您必须root您的设备.并获得S-OFF的SPL.你的电脑还必须装有ADB驱动.  
  4. 进入Fastboot的方式是关机状态下按返回+开机.  

恩 大体就是这样,我们看下命令行详情:

  1. fastboot [ <选项> ] <命令>  
  2. []括起来表示这个是可选的.  
  3. <>括起来表示这个是必须的.  
  4. 可用命令:  
  5. update <文件名> 从官方update.zip升级系统.该update.zip必须是官方的  
  6. flashall 'flash boot' +'flash system'  
  7. flash <分区名> [ <文件名> ] 将文件写入分区.文件必须正确的格式.分区名有但不限于system,recovery,boot,splash1,hboot,radio,userdata,cache  
  8. erase <分区名> 清空一个分区.  
  9. getvar <参数名> 显示一个启动参数  
  10. boot <内核文件> [ <ramdisk文件> ] 将电脑上的内核下载到手机并用该内核启动系统.  
  11. flash:raw boot <内核文件> [ <ramdisk文件> ] 创建boot.img并下载到手机启动系统.  
  12. devices 列出所有与电脑连接的设备.  
  13. reboot 正常启动系统  
  14. reboot-bootloader 启动系统到hboot  
  15. 选项:  
  16. -w 清空用户数据分区和缓存分区.相当于recvery中的"wipe data/factoryreset"  
  17. -s <串口号> 置顶要操作的设备的串口号  
  18. -p <产品名> 指定要操作的设备的产品名.比如hero,bravo,dream...  
  19. -c <命令行> 用命令行替换系统的启动命令行.  
  20. 分区解释:  
  21. system:系统分区.我们刷机器一般就是刷的这个分区.  
  22. userdata:数据分区.  
  23. cache:缓存分区  
  24. recovery:Recovery分区.  
  25. boot:存放内核和ramdisk的分区.  
  26. hboot:这个是SPL所在的分区.很重要哦.也是fastboot所在的分区.刷错就真的变砖了.  
  27. splash1:这个就是开机第一屏幕了.  
  28. radio:这个是无线所在的分区.  

OK ,或许大家都看出来了神马。我们可以直接回复出厂设置,也就是擦除用户数据

命令:

  1. fastboot -w  
还有就是和上面USB调试做法一样,删除密码文件。

命令:

  1. fastboot -c rm /data/system/gesture.key  
差不多就是这样了。

祝大家破解愉快。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章