轉載於:http://blog.csdn.net/unixcroot/article/details/8945499
近日在看雪罈子上閒逛,注意到了一篇帖子,提到了關於Android的密碼破解。
可能有些人沒有看到,我就重複的說一下了。
首先Android圖形解鎖有三個要求:
1、至少四個點
2、最多九個點
3、無重複點
恩,是這樣,然後圖形轉換成數字,然後通過SHA1加密,最後存儲。
好了,明白了這些,再看下點的規律。
從左上角起編號爲 00,至右下角止編號爲 08。
最終密文文件會保存到 /DATA/SYSTEM/GESTURE.KEY
知道地址了,我們可以先加鎖,然後在找到文件試試看。
在這我就不做演示,相信你都會的。
然後破解,至於破解思路,引用一下原作者的話:
從密碼明文的編碼來看,各單數位數字爲零,雙數位數字不重複地排列,並將這個排列進行單次SHA1運算。那麼也就是說,通過數學計算可知,由於單數位確定,雙數位不重複,則根據 Android 圖案鎖定規則可以設置的鎖定圖案總數是固定的,4個數的密碼個數爲9*8*7*6=3024。5個數的密碼個數爲15120個。6個數的密碼個數爲60480個。7個數的密碼個數爲181440個。8個數和9個數的密碼個數都是36288個。也就是說一共密碼的可能個數爲985824個。由於密碼複雜程度不高,破解相對容易。只要做一個字典進行暴力猜解就可以將正確密碼解出來且速度很快。生成的字典50多m,暴力破解速度基本是秒破的。 |
- adb shell rm /data/system/gesture.key
搞定的。
但是這樣就有了侷限性,有些人爲了安全,並未開啓USB調試。
所以有些時候就鬱悶了。對此我無意間想到了一種方法,這個是在修復半成型的磚時,刷機學到的。
Android有個分區,叫fastboot。對,或許已經有人想到了,我們就是用這個。完全不用考慮是否開啓USB調試。專業用語 線刷,也就是用的它。
當然不管USB調試還是fastboot,一切一切的大前提是安裝驅動,至於驅動不用說了,相信廣大的手機發燒友都知道的,豌豆莢類似的手機助手都有。
好,我們熟悉下fastboot:
- 從字面上來看是【快速啓動】的意思,也算是一個刷機界面,不過比recovery更加底層.這個底層是更加接近硬件層的意思.
- 兩個都很重要,不過fastboot更爲主要.當你不能進入recovery的時候,不要緊張,你還能進fastboot挽救,不過當你連fastboot都不能進入的時候,那可真就是磚了.手機需要送廠才能維修了。
- 爲了使用Fastboot功能.您必須root您的設備.並獲得S-OFF的SPL.你的電腦還必須裝有ADB驅動.
- 進入Fastboot的方式是關機狀態下按返回+開機.
恩 大體就是這樣,我們看下命令行詳情:
- fastboot [ <選項> ] <命令>
- []括起來表示這個是可選的.
- <>括起來表示這個是必須的.
- 可用命令:
- update <文件名> 從官方update.zip升級系統.該update.zip必須是官方的
- flashall 'flash boot' +'flash system'
- flash <分區名> [ <文件名> ] 將文件寫入分區.文件必須正確的格式.分區名有但不限於system,recovery,boot,splash1,hboot,radio,userdata,cache
- erase <分區名> 清空一個分區.
- getvar <參數名> 顯示一個啓動參數
- boot <內核文件> [ <ramdisk文件> ] 將電腦上的內核下載到手機並用該內核啓動系統.
- flash:raw boot <內核文件> [ <ramdisk文件> ] 創建boot.img並下載到手機啓動系統.
- devices 列出所有與電腦連接的設備.
- reboot 正常啓動系統
- reboot-bootloader 啓動系統到hboot
- 選項:
- -w 清空用戶數據分區和緩存分區.相當於recvery中的"wipe data/factoryreset"
- -s <串口號> 置頂要操作的設備的串口號
- -p <產品名> 指定要操作的設備的產品名.比如hero,bravo,dream...
- -c <命令行> 用命令行替換系統的啓動命令行.
- 分區解釋:
- system:系統分區.我們刷機器一般就是刷的這個分區.
- userdata:數據分區.
- cache:緩存分區
- recovery:Recovery分區.
- boot:存放內核和ramdisk的分區.
- hboot:這個是SPL所在的分區.很重要哦.也是fastboot所在的分區.刷錯就真的變磚了.
- splash1:這個就是開機第一屏幕了.
- radio:這個是無線所在的分區.
OK ,或許大家都看出來了神馬。我們可以直接回復出廠設置,也就是擦除用戶數據
命令:
- fastboot -w
命令:
- fastboot -c rm /data/system/gesture.key
祝大家破解愉快。