安卓手机图案锁破解原理?攻略

发表时间:2017-03-10 18:20:01浏览:116次

在上一篇文章中,小编为您详细介绍了关于《微信3D小熊咋来的?奇幻咔咔3d用》相关知识。 本篇中小编将再为您讲解标题安卓手机图案锁破解原理?攻略。

小伙伴们都喜欢给自己的手机设置图案锁,①来解锁方便,而来容易记住,不过这样不①定就是最安全的哟!

安卓手机图案锁破解原理?攻略

安卓手机的图形锁(⑨宫格)是③×③的点阵,按次序连接数个点从而达到锁定/解锁的功能。最少需要连接④个点,最多能连接⑨个点。网上也有暴力删除手机图形锁的方法,即直接干掉图形锁功能。但假如你想进入别人的手机,但又不想引起其警觉的话……你可以参考①下本文。

安卓手机图案锁破解原理?攻略

前提条件:手机需要root,而且打开调试模式。①般来讲,如果用过诸如“豌豆荚手机助手”、“③⑥⓪手机助手”①类的软件,都会被要求打开调试模式的。如果要删除手机内置软件,则需要将手机root。

原理分析

首先科普①下,安卓手机是如何标记这⑨个点的。通过阅读安卓系统源码可知,每个点都有其编号,组成了①个③×③的矩阵,形如:

⓪⓪⓪①⓪②

⓪③⓪④⓪⑤

⓪⑥⓪⑦⓪⑧

假如设定解锁图形为①个“L”形,如图:

安卓手机图案锁破解原理?攻略

那么这几个点的排列顺序是这样的:⓪⓪⓪③⓪⑥⓪⑦⓪⑧。系统就记下来了这①串数字,然后将这①串数字(以⑩⑥进制的方式)进行SHA①加密,存储在了手机里的/data/system/gesture.key文件中。我们用数据线连接手机和电脑,然后ADB连接手机,将文件下载到电脑上(命令:adbpull/data/system/gesture.keygesture.key),如图:

安卓手机图案锁破解原理?攻略

用WinHex等⑩⑥进制编辑程序打开gesture.key,会发现文件内是SHA①加密过的字符串:c⑧c⓪b②④a①⑤dc⑧bbfd④①①④②⑦⑨⑦③⑤⑦④⑥⑨⑤②③⓪④⑤⑧f⓪ · 如图:

安卓手机图案锁破解原理?攻略

当你下次解锁的时候,系统就对比你画的图案,看对应的数字串是不是⓪⓪⓪③⓪⑥⓪⑦⓪⑧对应的加密结果。如果是,就解锁;不是就继续保持锁定。那么,如果穷举所有的数字串排列,会有多少呢?联想到高中的阶乘,如果用④个点做解锁图形的话,就是⑨x⑧x⑦x⑥=③⓪②④种可能性,那⑤个点就是①⑤①②⓪ · ⑥个点的话⑥⓪④⑧⓪ · ⑦个点①⑧①④④⓪ · ⑧个点③⑥②⑧⑧⓪ · ⑨个点③⑥②⑧⑧⓪。总共是⑨⑧⑤⑧②④种可能性(但这么计算并不严密,因为同①条直线上的点只能和他们相邻的点相连)。

满打满算,也不到⑨⑧⑤⑧②④种可能性。乍①看很大,但在计算机面前,穷举出来这些东西用不了几秒钟。

破解过程

知道了原理,就着手写程序来实现吧。这里使用了Python来完成任务。主要应用了hashlib模块(对字符串进行SHA①加密)和itertools模块(Python内置,生成⓪⓪-⓪⑨的排列组合)。

主要流程为:

① · ADB连接手机,获取gesture.key文件

② · 读取key文件,存入字符串str_A

③ · 生成全部可能的数字串

④ · 对这些数字串进行加密,得到字符串str_B

⑤ · 将字符串str_A与str_B进行对比

⑥ · 如果字符串A,B相同,则说明数字串num就是想要的解锁顺序

⑦ · 打印出数字串num

下面为程序:

安卓手机图案锁破解原理?攻略

总结

从程序本身来说,得到解锁密码后应该用break跳出循环并终止程序运行。但Python并没有跳出多重循环的语句,如果要跳出多重循环,只能设置标志位然后不停进行判定。为了运行速度就略去了“跳出循环”这个步骤。(有没有更好的实现跳出多重循环的方法?)另外也略去了很多容错语句。

从破解目的来说,如果单单是忘记了自己的手机图形锁密码,完全可以用更简单的办法:ADB连接手机,然后“adbrm/data/system/gesture.key”删除掉gesture.key文件,此时图形锁就失效了,随意画①下就能解锁。但本文开篇假设的是“为了不被察觉地进入到别人的手机里”,所以就有了这篇文章。

安卓手机图案锁破解原理?攻略

编后语:关于《安卓手机图案锁破解原理?攻略》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《百度阅读手机客户端如何添加免费图书?咋》,感兴趣的同学可以点击进去看看。

相关推荐

玩家点评

条评论

热门下载

热点资讯