• 谈谈关于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,暴力破解速度基本是秒破的。
    暴力删掉方法,原来作者的思路是通过手机在开启USB调试功能下,通过命令:

    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
    差不多就是这样了。

    祝大家破解愉快。





  • 相关阅读:
    索引信息统计
    删除脚本
    归档脚本
    SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
    用js输出同样字符出现的次数
    grid布局
    统计字符出现的次数
    百度地图
    For each...in,For...in ,For...of的Examples和Explanation
    Object的起源
  • 原文地址:https://www.cnblogs.com/croot/p/3235112.html
Copyright © 2020-2023  润新知