小伙伴们都喜欢给自己的手机设置图案锁,一来解锁方便,而来容易记住,不过这样不一定就是最安全的哟!
安卓手机的图形锁(九宫格)是3×3的点阵,按次序连接数个点从而达到锁定/解锁的功能。最少需要连接4个点,最多能连接9个点。网上也有暴力删除手机图形锁的方法,即直接干掉图形锁功能。但假如你想进入别人的手机,但又不想引起其警觉的话……你可以参考一下本文。
前提条件:手机需要root,而且打开调试模式。一般来讲,如果用过诸如“豌豆荚手机助手”、“360手机助手”一类的软件,都会被要求打开调试模式的。如果要删除手机内置软件,则需要将手机root。
原理分析
首先科普一下,安卓手机是如何标记这9个点的。通过阅读安卓系统源码可知,每个点都有其编号,组成了一个3×3的矩阵,形如:
00 01 02
03 04 05
06 07 08
假如设定解锁图形为一个“L”形,如图:
那么这几个点的排列顺序是这样的:00 03 06 07 08。系统就记下来了这一串数字,然后将这一串数字(以十六进制的方式)进行SHA1加密,存储在了手机里的/data/system/gesture.key 文件中。我们用数据线连接手机和电脑,然后ADB连接手机,将文件下载到电脑上(命令:adb pull /data/system/gesture.key gesture.key),如图:
用WinHex等十六进制编辑程序打开gesture.key,会发现文件内是SHA1加密过的字符串:c8c0b24a15dc8bbfd411427973574695230458f0,如图:
当你下次解锁的时候,系统就对比你画的图案,看对应的数字串是不是0003060708对应的加密结果。如果是,就解锁;不是就继续保持锁定。那么,如果穷举所有的数字串排列,会有多少呢?联想到高中的阶乘,如果用4个点做解锁图形的话,就是9x8x7x6=3024种可能性,那5个点就是15120,6个点的话60480,7个点181440,8个点362880,9个点362880。总共是985824种可能性(但这么计算并不严密,因为同一条直线上的点只能和他们相邻的点相连)。
满打满算,也不到985824种可能性。乍一看很大,但在计算机面前,穷举出来这些东西用不了几秒钟。
破解过程
知道了原理,就着手写程序来实现吧。这里使用了Python来完成任务。主要应用了hashlib模块(对字符串进行SHA1加密)和itertools模块(Python内置,生成00-09的排列组合)。
主要流程为:
1、ADB连接手机,获取gesture.key文件
2、读取key文件,存入字符串str_A
3、生成全部可能的数字串
4、对这些数字串进行加密,得到字符串str_B
5、将字符串str_A与str_B进行对比
6、如果字符串A,B相同,则说明数字串num就是想要的解锁顺序
7、打印出数字串num
下面为程序:
总结
从程序本身来说,得到解锁密码后应该用break跳出循环并终止程序运行。但Python并没有跳出多重循环的语句,如果要跳出多重循环,只能设置标志位然后不停进行判定。为了运行速度就略去了“跳出循环”这个步骤。(有没有更好的实现跳出多重循环的方法?)另外也略去了很多容错语句。
从破解目的来说,如果单单是忘记了自己的手机图形锁密码,完全可以用更简单的办法:ADB连接手机,然后“adb rm /data/system/gesture.key”删除掉gesture.key文件,此时图形锁就失效了,随意画一下就能解锁。但本文开篇假设的是“为了不被察觉地进入到别人的手机里”,所以就有了这篇文章。
最后提一个安全小建议:如果手机已root,还要用“XX手机助手”,还想设置图形锁的话——在手机“设置”选项里,有一个“锁定状态下取消USB调试模式”(这个名字因手机而异,而且有的有此选项,有的手机就没有),开启此功能之后,在手机锁定状态下就能够防范此类攻击了。
相关视频
相关阅读 联想乐檬K3锁屏密码怎么设置小米手机锁屏密码忘了怎么办三星取消锁屏 三星s4取消锁屏密码方法三星手机怎么设置锁屏密码 三星手机锁屏图案忘了怎么办小米max锁屏密码怎么设置 小米max锁屏密码设置方法教程三星A7锁屏密码怎么设置 三星A7锁屏图案设置方法三星Note4怎么设置锁屏密码 三星Note4锁屏密码设置方法vivo手机密码忘了怎么解锁 vivo锁屏密码忘记解决办法
热门文章 野鸡大学是什么意思 中自拍杆哪个牌子好 自拍空气净化器有用吗 来空春节快递放假吗 快递承
最新文章
柔性电池发展现状运动器材在哪个app买好
电子书免费阅读app哪个好 电子书免费下载软保险软件有哪些 保险软件哪个最好搞笑视频软件有哪些 搞笑视频软件排行榜航班动态实时查询app哪个好 飞机实时航班动
人气排行 O2O、C2C、B2B、B2C是什么意思 有什么区别手机恢复出厂设置会怎么样 对手机有影响吗?智能手环哪个好 智能手环评测为什么手机连上WiFi网速很慢HDMI DP哪个好 HDMI DP区别iPhone6用什么SIM卡?怎么装\取SIM卡?抖音让我做你的眼睛是谁唱的 抖音让我做你的哔哩哔哩怎么成为正式会员?b站注册方法教程
查看所有0条评论>>