小編因為一些原因修改了工作手機的鎖屏密碼,當時以為自己能記住。最后發現還是高估了自己的記憶力。

 

今天打算在手機中找一些資料的時候,突然發現忘了密碼。只記得密碼是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 文件,刪除即可