來源:http://blog.csdn.net/jiangwei0910410003/article/details/41800409
今天咋們來看一下我在現實中遇到的兩個問題和解決方案
問題一:忘記手機的鎖屏密碼了
Android中在設置中的安全菜單欄中是可以設置鎖屏密碼的,有直接的文本密碼和手勢密碼(我們一般會用到的兩個密碼),但是有時候腦子不好使,密碼總是忘了,到時候該怎么辦呢?
方法一:我們知道現在最流行的手勢鎖就是九宮格了,他在設置手勢的時候,是有一定規則的,比如手勢點不能少於4個,而且有些手勢是不存在的,一般手勢是九宮格,每個點代表一個數值:
0 1 2
3 4 5
6 7 8
其實系統在存儲手勢密碼的時候是存的這些手勢對應的數值順序,然后用SHA進行加密存儲的
一般手勢的長度是大於3個點的,而且有些手勢是不合法的,那么我們就可以用窮舉法來一一嘗試破解了,現在網上有相對應的軟件了,只要輸入SHA密文,然后就可以獲取到對應的手勢數值順序。SHA和MD5碼一樣是不可以反解的,只能暴力破解。同時支付寶的手勢密碼也是這么破解的。這里就不在詳細說明了。
方法二:方法一是一個破解的方式,但是那么做太委婉了,我們來一個直接了當的方法:刪除密碼存儲文件
這個方法以前在破解Window系統中的登錄密碼方式是一樣的,不多說了,直接看操作:
=>adb shell
=>su
=>cd data/system
=>ls
=>rm gesture.key
方法很簡單,但是有一個前提是:手機必須root之后,在su權限才能操作,這個就比方法一多了一點條件了,方法一是不需要這個條件的。但是沒關系,反正我手機是必須root的。不然怎么開發Android,哈哈~~
Android中鎖屏密碼都是存在: /data/system/ 目錄下的
我們可以查看后綴名是.key的文件,因為有很多種鎖屏方案:手勢密碼,文本密碼,PIN密碼等,所以會有相對應的文件,我們只要找到對應的文件,然后將其刪除即可。
上面是刪除手勢密碼的,下面來看一下效果:
看到了,當我們刪除手勢密碼文件的時候,我們輸入任何手勢都可以進入系統了。好了,問題解決了。
注:因為我是Android開發的,所以手機是肯定root了,但是對於那些非開發人員,手機一般不會root,那么就是用第一種方法了,第一種方法沒什么難度,網上現在的資料很多,所以可以自行去研究了,為什么我說第二種方法呢?因為快,方便~~
問題二:如何獲取連接的wifi密碼
手機連接到一個wifi了,但是我忘記密碼了,其他朋友也想連接這個wifi,所以就找我要密碼,但是我們知道Android中是看不了連接wifi對應的密碼的,但是朋友既然問了,作為Android開發者,沒理由搞不定呀?所以方法又來了:
=>adb shell
=>su
=>cd data/misc/wifi
=>cat wpa_supplicant.conf
同樣的道理,我們其實每次連接上的wifi之后,系統會將這些wifi信息存儲到指定文件中,在 /data/misc/wifi/ 目錄下面,然后查看wpa_supplicant.conf文件內容即可
當然了,這個操作也是需要root的,在su權限下才能操作。
總結
通過上面的兩個例子,我其實想說的是:Android中有很多信息都是存儲在一個文件中的,比如手機的設備信息、電池信息等等。當我們遇到這樣的問題,第一感覺是這樣的信息應該是存儲在一個指定文件中的,然后才去找這個文件。這個也是一種學習的方法。
(PS:Android手機只要root了,什么事都能干,所以期待Google對Android的安全性做一次全面的整改和修復。。。)