近日在看雪坛子上闲逛,注意到了一篇帖子,提到了关于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
差不多就是这样了。
祝大家破解愉快。