前两天因为一些原因修改了手机的锁屏密码,当时以为自己能记住.最后还是高估了自己的记忆力,今天打算在手机中找一些资料的时候,突然发现忘了密码.只记得密码是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 文件,删除即可