Android之可以做的两件坏事---破解锁屏密码和获取Wifi密码
轉(zhuǎn)載:http://blog.csdn.net/jiangwei0910410003/article/details/41800409
之前的文章一直在介紹OC,最近也是在找急忙慌的學習IOS,所以Android方面的知識分享就有點中斷了,但是我現(xiàn)在還是要靠Android吃飯,所以不能Android的工作不能停呀,今天咋們來看一下我在現(xiàn)實中遇到的兩個問題和解決方案
 
問題一:忘記手機的鎖屏密碼了
Android中在設(shè)置中的安全菜單欄中是可以設(shè)置鎖屏密碼的,有直接的文本密碼和手勢密碼(我們一般會用到的兩個密碼),但是有時候腦子不好使,密碼總是忘了,到時候該怎么辦呢?方法一:我們知道現(xiàn)在最流行的手勢鎖就是九宮格了,他在設(shè)置手勢的時候,是有一定規(guī)則的,比如手勢點不能少于4個,而且有些手勢是不存在的,一般手勢是九宮格,每個點代表一個數(shù)值:
0 ? ? 1 ? ? 2
3 ? ? 4 ? ? 5
6 ? ? 7 ? ? 8
其實系統(tǒng)在存儲手勢密碼的時候是存的這些手勢對應(yīng)的數(shù)值順序,然后用SHA進行加密存儲的
一般手勢的長度是大于3個點的,而且有些手勢是不合法的,那么我們就可以用窮舉法來一一嘗試破解了,現(xiàn)在網(wǎng)上有相對應(yīng)的軟件了,只要輸入SHA密文,然后就可以獲取到對應(yīng)的手勢數(shù)值順序。SHA和MD5碼一樣是不可以反解的,只能暴力破解。同時支付寶的手勢密碼也是這么破解的。這里就不在詳細說明了。
 
 
方法二:方法一是一個破解的方式,但是那么做太委婉了,我們來一個直接了當?shù)姆椒?#xff1a;刪除密碼存儲文件
這個方法以前在破解Window系統(tǒng)中的登錄密碼方式是一樣的,不多說了,直接看操作:
=>adb shell
=>su
=>cd data/system
=>ls
=>rm gesture.key
 
 
方法很簡單,但是有一個前提是:手機必須root之后,在su權(quán)限才能操作,這個就比方法一多了一點條件了,方法一是不需要這個條件的。但是沒關(guān)系,反正我手機是必須root的。不然怎么開發(fā)Android,哈哈~~
Android中鎖屏密碼都是存在:/data/system/?? 目錄下的
我們可以查看后綴名是.key的文件,因為有很多種鎖屏方案:手勢密碼,文本密碼,PIN密碼等,所以會有相對應(yīng)的文件,我們只要找到對應(yīng)的文件,然后將其刪除即可。
上面是刪除手勢密碼的,下面來看一下效果:
 看到了,當我們刪除手勢密碼文件的時候,我們輸入任何手勢都可以進入系統(tǒng)了。好了,問題解決了。
 
注:因為我是Android開發(fā)的,所以手機是肯定root了,但是對于那些非開發(fā)人員,手機一般不會root,那就沒辦法了,第一種方法沒什么難度,網(wǎng)上現(xiàn)在的資料很多,所以可以自行去研究了,但是第一種方法也是需要root的。為什么我說第二種方法呢?因為快,方便~~
 
 
問題二:如何獲取連接的wifi密碼
 手機連接到一個wifi了,但是我忘記密碼了,其他朋友也想連接這個wifi,所以就找我要密碼,但是我們知道Android中是看不了連接wifi對應(yīng)的密碼的,但是朋友既然問了,作為Android開發(fā)者,沒理由搞不定呀?所以方法又來了:
 
=>adb shell
=>su
=>cd data/misc/wifi
=>cat wpa_supplicant.conf
同樣的道理,我們其實每次連接上的wifi之后,系統(tǒng)會將這些wifi信息存儲到指定文件中,在/data/misc/wifi/??目錄下面,然后查看wpa_supplicant.conf文件內(nèi)容即可
當然了,這個操作也是需要root的,在su權(quán)限下才能操作。
當然還可以掃wifi的二維碼
總結(jié)
通過上面的兩個例子,我其實想說的是:Android中有很多信息都是存儲在一個文件中的,比如手機的設(shè)備信息、電池信息等等。當我們遇到這樣的問題,第一感覺是這樣的信息應(yīng)該是存儲在一個指定文件中的,然后才去找這個文件。這個也是一種學習的方法。
(PS:Android手機只要root了,什么事都能干,所以期待Google對Android的安全性做一次全面的整改和修復。。。)
總結(jié)
以上是生活随笔為你收集整理的Android之可以做的两件坏事---破解锁屏密码和获取Wifi密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Android之如何使用junit
 - 下一篇: Android之动画精讲一:从setTr