小编因为一些原因修改了工作手机的锁屏密码,当时以为自己能记住。最后发现还是高估了自己的记忆力。

 

今天打算在手机中找一些资料的时候,突然发现忘了密码。只记得密码是235689这6个数字组成的,所以开始想办法凭借仅存的记忆进行分析。

 

开始,尝试输入几个以为是正确的密码
 

结果都是错误的,导致在一定时间内不能再次输入。我就觉得这样随机的验证下去是不行的,又不记得哪些试过哪些没有试过。

 

然后,用代码输出这6个数字的排列组合

 

import itertools
numbers = 
"235689"
passwords = list(itertools.permutations(numbers, 6))
for password in passwords:
    
print(''.join(password))

执行后产出720行数据,就是有720个结果,好在还是有点记忆力的,把不可能的组合去掉,剩下20+组。
 
再把已经试过的密码去掉,剩下10+组。最后就在这十几组里面按照最有可能的概率进行尝试。结果是令人满意的,试到第三组成功了。
 
这里肯定有人说了,你这个是知道密码的数字,更重要的是可以排除一些不可能的情况,那么如果只知道数字,没有办法进一步排除怎么办呢?

这问题我也想过,所以我也把办法给整理一下,供小伙伴参考:
 

前提条件:

1.手机开启开发者选项,USB调试选项

2.连接过电脑,使用adb 命令

3.adb shell 有root权限

 

步骤:
 
第一步: 当手机锁屏密码忘记的时候,可以使用手机连接电脑并通过adb 识别

第二步: 进入/data/system 目录
 
这个目录是需要有root权限的,否则提示如下信息

正常的情况应该显示如下:

我们这里可以看到里面有一个文件:
gatekeeper.password.key 这个文件是模拟器显示的文件名称,在我们的测试手机(真机)中应该为: password.key
 
第三步:使用 rm 命令删除密码文件
 
这个也是需要root权限的哦,命令如下:
rm gatekeeper.password.key

第四步:重启手机,即可不用密码进行操作啦.
 
注意上面步骤是数字密码,如果是图案的话就是对应的gesture.key 文件,删除即可