以前的文章一直在介紹OC,最近也是在找急忙慌的學習IOS,因此Android方面的知識分享就有點中斷了,可是我如今仍是要靠Android吃飯,因此不能Android的工做不能停呀,今天咋們來看一下我在現實中遇到的兩個問題和解決方案shell
問題一:忘記手機的鎖屏密碼了安全
Android中在設置中的安全菜單欄中是能夠設置鎖屏密碼的,有直接的文本密碼和手勢密碼(咱們通常會用到的兩個密碼),可是有時候腦子很差使,密碼老是忘了,到時候該怎麼辦呢?學習
方法一:咱們知道如今最流行的手勢鎖就是九宮格了,他在設置手勢的時候,是有必定規則的,好比手勢點不能少於4個,並且有些手勢是不存在的,通常手勢是九宮格,每一個點表明一個數值:加密
0 1 2spa
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,那就沒辦法了,第一種方法沒什麼難度,網上如今的資料不少,因此能夠自行去研究了,可是第一種方法也是須要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的安全性作一次全面的整改和修復。。。)