免费教你其解锁技巧 图案解锁忘记了怎么解锁


免费教你其解锁技巧  图案解锁忘记了怎么解锁

文章插图
前提条件:手机需要root并开启调试模式 。一般来说,如果您使用过“豌豆荚手机助手”、“360手机助手”等软件,则需要开启调试模式 。如果要删除手机内置软件,需要root手机 。
原理分析
首先我们来说说手机是如何标记这9点的 。通过阅读系统的源码,我们可以看到每个点都有自己的编号,形成一个3×3的矩阵,如:
00 01 02
03 04 05
【免费教你其解锁技巧图案解锁忘记了怎么解锁】06 07 08
如果解锁图形设置为“L”形,如图:
免费教你其解锁技巧  图案解锁忘记了怎么解锁

文章插图
那么这些点的顺序如下:00 03 06 07 08 。系统记录这串数字,然后用SHA1对这串数字(十六进制格式)进行加密,保存在/data// 。手机中的密钥文件 。我们用数据线连接手机和电脑,然后将手机和adb连接,下载文件到电脑(命令:adb pull /data//.key.key),如图:
用十六进制编辑程序打开.key,你会发现文件是一个SHA1加密的字符串:,如图:
免费教你其解锁技巧  图案解锁忘记了怎么解锁

文章插图

免费教你其解锁技巧  图案解锁忘记了怎么解锁

文章插图
下次解锁时,系统会比较你画的图案,看对应的数字串是不是对应的加密结果 。如果是,解锁;如果没有,请保持锁定状态 。所以,如果你用尽数字串的所有排列,会有多少?想想高中的阶乘,如果用4分解锁图形,就是=3024种可能性,那么5分就是15120,6分就是60480,7分,8分,9分 。总而言之,这是一种可能性(但不是很精确,因为同一条线上的点只能连接到它们的邻居) 。
如果完全计算,这是不可能的 。一开始看起来很大,但在电脑前,列举这些东西不到几秒钟 。
破解过程
知道了原理,下面开始写程序来实现吧 。在这里用来完成任务 。主要应用模块(字符串的SHA1加密)和模块(内置,产生00-09的排列组合) 。
主要流程是:
1、ADB连接手机并获取.key文件
2、读取密钥文件并将其存储在字符串str_A中
3、生成所有可能的数字字符串
4、加密这些数字字符串得到字符串str_B
5、比较字符串 str_A 和 str_B
6、如果字符串A和B相同,数字字符串num就是想要的解锁顺序
7、打印出数字字符串num
以下是程序:
免费教你其解锁技巧  图案解锁忘记了怎么解锁

文章插图
总结
从程序本身来说,拿到解锁密码后,应该使用break跳出循环,终止程序 。但是没有语句可以跳出多个循环 。如果要跳出多个循环,只能设置标志位,然后再进行判断 。为了速度,省略了“跳出循环”这一步 。(有没有更好的方法跳出多个循环?)也省略了很多容错语句 。
为了破解的目的,如果你只是忘记了手机图案锁密码,可以使用更简单的方法:将手机与ADB连接,然后“adb rm /data//.key”删除. key文件,此时图形锁无效,可以随意画图解锁 。但是本文开头的假设是“为了不被发现进入别人的手机”,所以才有了这篇文章 。
最后一个安全小建议:如果手机已经root了,还需要使用“XX手机助手”,并且要设置图形锁——在手机“设置”选项中,有一个“取消”锁定状态下的USB调试模式“”(名称因手机而异,有的有这个选项,有的没有),开启该功能后,可以防止手机被锁定时的此类攻击 。技术原理这篇文章很简单,希望你能教到一些高级编程技巧 。
郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的 。如果作者信息标注有误,请尽快联系我们修改或删除,谢谢 。