谈谈关于Android迷宫密码破解
近日在看雪坛子上闲逛,注意到了一篇帖子,提到了关于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,暴力破解速度基本是秒破的。 |
adb shell rm /data/system/gesture.key
搞定的。
但是这样就有了局限性,有些人为了安全,并未开启USB调试。
所以有些时候就郁闷了。对此我无意间想到了一种方法,这个是在修复半成型的砖时,刷机学到的。
Android有个分区,叫fastboot。对,或许已经有人想到了,我们就是用这个。完全不用考虑是否开启USB调试。专业用语 线刷,也就是用的它。
当然不管USB调试还是fastboot,一切一切的大前提是安装驱动,至于驱动不用说了,相信广大的手机发烧友都知道的,豌豆荚类似的手机助手都有。
好,我们熟悉下fastboot:
从字面上来看是【快速启动】的意思,也算是一个刷机界面,不过比recovery更加底层.这个底层是更加接近硬件层的意思. 两个都很重要,不过fastboot更为主要.当你不能进入recovery的时候,不要紧张,你还能进fastboot挽救,不过当你连fastboot都不能进入的时候,那可真就是砖了.手机需要送厂才能维修了。 为了使用Fastboot功能.您必须root您的设备.并获得S-OFF的SPL.你的电脑还必须装有ADB驱动. 进入Fastboot的方式是关机状态下按返回+开机.
恩 大体就是这样,我们看下命令行详情:
fastboot [ <选项> ] <命令> []括起来表示这个是可选的. <>括起来表示这个是必须的. 可用命令: update <文件名> 从官方update.zip升级系统.该update.zip必须是官方的 flashall 'flash boot' +'flash system' flash <分区名> [ <文件名> ] 将文件写入分区.文件必须正确的格式.分区名有但不限于system,recovery,boot,splash1,hboot,radio,userdata,cache erase <分区名> 清空一个分区. getvar <参数名> 显示一个启动参数 boot <内核文件> [ <ramdisk文件> ] 将电脑上的内核下载到手机并用该内核启动系统. flash:raw boot <内核文件> [ <ramdisk文件> ] 创建boot.img并下载到手机启动系统. devices 列出所有与电脑连接的设备. reboot 正常启动系统 reboot-bootloader 启动系统到hboot 选项: -w 清空用户数据分区和缓存分区.相当于recvery中的"wipe data/factoryreset" -s <串口号> 置顶要操作的设备的串口号 -p <产品名> 指定要操作的设备的产品名.比如hero,bravo,dream... -c <命令行> 用命令行替换系统的启动命令行. 分区解释: system:系统分区.我们刷机器一般就是刷的这个分区. userdata:数据分区. cache:缓存分区 recovery:Recovery分区. boot:存放内核和ramdisk的分区. hboot:这个是SPL所在的分区.很重要哦.也是fastboot所在的分区.刷错就真的变砖了. splash1:这个就是开机第一屏幕了. radio:这个是无线所在的分区.
OK ,或许大家都看出来了神马。我们可以直接回复出厂设置,也就是擦除用户数据
命令:
fastboot -w还有就是和上面USB调试做法一样,删除密码文件。
命令:
fastboot -c rm /data/system/gesture.key差不多就是这样了。
祝大家破解愉快。