安卓手機(jī)的圖形鎖(九宮格)是3×3的點(diǎn)陣,按次序連接數(shù)個(gè)點(diǎn)從而達(dá)到鎖定/解鎖的功能。最少需要連接4個(gè)點(diǎn),最多能連接9個(gè)點(diǎn)。網(wǎng)上也有暴力刪除手機(jī)圖形鎖的方法,即直接干掉圖形鎖功能。但假如你想進(jìn)入別人的手機(jī),但又不想引起其警覺的話……你可以參考一下本文。
前提條件:手機(jī)需要root,而且打開調(diào)試模式。一般來講,如果用過諸如;豌豆莢手機(jī)助手”、;360手機(jī)助手”一類的軟件,都會(huì)被要求打開調(diào)試模式的。如果要?jiǎng)h除手機(jī)內(nèi)置軟件,則需要將手機(jī)root。
原理分析
首先科普一下,安卓手機(jī)是如何標(biāo)記這9個(gè)點(diǎn)的。通過閱讀安卓系統(tǒng)源碼可知,每個(gè)點(diǎn)都有其編號(hào),組成了一個(gè)3×3的矩陣,形如:
00 01 02
03 04 05
06 07 08
假如設(shè)定解鎖圖形為一個(gè);L”形,如圖:
那么這幾個(gè)點(diǎn)的排列順序是這樣的:00 03 06 07 08。系統(tǒng)就記下來了這一串?dāng)?shù)字,然后將這一串?dāng)?shù)字(以十六進(jìn)制的方式)進(jìn)行SHA1加密,存儲(chǔ)在了手機(jī)里的/data/system/gesture.key 文件中。我們用數(shù)據(jù)線連接手機(jī)和電腦,然后ADB連接手機(jī),將文件下載到電腦上(命令:adb pull /data/system/gesture.key gesture.key),如圖:
用WinHex等十六進(jìn)制編輯程序打開gesture.key,會(huì)發(fā)現(xiàn)文件內(nèi)是SHA1加密過的字符串:c8c0b24a15dc8bbfd411427973574695230458f0,如圖:
當(dāng)你下次解鎖的時(shí)候,系統(tǒng)就對(duì)比你畫的圖案,看對(duì)應(yīng)的數(shù)字串是不是0003060708對(duì)應(yīng)的加密結(jié)果。如果是,就解鎖;不是就繼續(xù)保持鎖定。那么,如果窮舉所有的數(shù)字串排列,會(huì)有多少呢?聯(lián)想到高中的階乘,如果用4個(gè)點(diǎn)做解鎖圖形的話,就是9x8x7x6=3024種可能性,那5個(gè)點(diǎn)就是15120,6個(gè)點(diǎn)的話60480,7個(gè)點(diǎn)181440,8個(gè)點(diǎn)362880,9個(gè)點(diǎn)362880??偣彩?85824種可能性(但這么計(jì)算并不嚴(yán)密,因?yàn)橥粭l直線上的點(diǎn)只能和他們相鄰的點(diǎn)相連)。
滿打滿算,也不到985824種可能性。乍一看很大,但在計(jì)算機(jī)面前,窮舉出來這些東西用不了幾秒鐘。
破解過程
知道了原理,就著手寫程序來實(shí)現(xiàn)吧。這里使用了Python來完成任務(wù)。主要應(yīng)用了hashlib模塊(對(duì)字符串進(jìn)行SHA1加密)和itertools模塊(Python內(nèi)置,生成00-09的排列組合)。
主要流程為:
1、ADB連接手機(jī),獲取gesture.key文件
2、讀取key文件,存入字符串str_A
3、生成全部可能的數(shù)字串
4、對(duì)這些數(shù)字串進(jìn)行加密,得到字符串str_B
5、將字符串str_A與str_B進(jìn)行對(duì)比
6、如果字符串A,B相同,則說明數(shù)字串num就是想要的解鎖順序
7、打印出數(shù)字串num
下面為程序:
總結(jié)
從程序本身來說,得到解鎖密碼后應(yīng)該用break跳出循環(huán)并終止程序運(yùn)行。但Python并沒有跳出多重循環(huán)的語(yǔ)句,如果要跳出多重循環(huán),只能設(shè)置標(biāo)志位然后不停進(jìn)行判定。為了運(yùn)行速度就略去了;跳出循環(huán)”這個(gè)步驟。(有沒有更好的實(shí)現(xiàn)跳出多重循環(huán)的方法?)另外也略去了很多容錯(cuò)語(yǔ)句。
從破解目的來說,如果單單是忘記了自己的手機(jī)圖形鎖密碼,完全可以用更簡(jiǎn)單的辦法:ADB連接手機(jī),然后;adb rm /data/system/gesture.key”刪除掉gesture.key文件,此時(shí)圖形鎖就失效了,隨意畫一下就能解鎖。但本文開篇假設(shè)的是;為了不被察覺地進(jìn)入到別人的手機(jī)里”,所以就有了這篇文章。
最后提一個(gè)安全小建議:如果手機(jī)已root,還要用;XX手機(jī)助手”,還想設(shè)置圖形鎖的話——在手機(jī);設(shè)置”選項(xiàng)里,有一個(gè);鎖定狀態(tài)下取消USB調(diào)試模式”(這個(gè)名字因手機(jī)而異,而且有的有此選項(xiàng),有的手機(jī)就沒有),開啟此功能之后,在手機(jī)鎖定狀態(tài)下就能夠防范此類攻擊了。
wps軟件是在很早之前就開始出現(xiàn)的一款辦公軟件,一出現(xiàn)就吸引......
閱讀在使用win10系統(tǒng)的時(shí)候,很多的電腦用戶們都發(fā)現(xiàn)了一個(gè)問題,......
閱讀相信大家都知道CDR軟件是可以繪制出很多立體圖形的,那么大家......
閱讀edge瀏覽器是一款強(qiáng)大的網(wǎng)頁(yè)瀏覽軟件,是windows10系統(tǒng)默認(rèn)使用的......
閱讀漫威暗夜之子由廣受好評(píng)的傳奇工作室Firaxis Games負(fù)責(zé)開發(fā),20......
閱讀iuni os虛擬按鍵開啟辦法1.用R.E管理器打開system/掛為讀寫(手機(jī)需要root) 2.找到build.prop文件長(zhǎng)按呼出文本編輯器.然后打開 3.在最底下添加代碼 qemu.hw.mainkeys=0保存后.重啟即可 (后面的是零,...
次閱讀
打開錢包,點(diǎn)擊進(jìn)入其中。在此點(diǎn)擊這里的小米門卡,點(diǎn)擊打開主頁(yè)。然后我們選擇自己需要綁定卡的類型,進(jìn)入其中。在此將卡貼緊手機(jī)的NFC感應(yīng)區(qū)。最后綁定成功,點(diǎn)擊完成即可。...
次閱讀
Google發(fā)布了最新一代安卓系統(tǒng)安卓M,加入了諸多實(shí)用新功能,大家可以點(diǎn)此查看安卓M的新功能新特性。Google同時(shí)還放出了安卓M的刷機(jī)包,Nexus 5、Nexus 6和Nexus 10已經(jīng)可以升級(jí),有需要的...
次閱讀
360一鍵root是360推出的一款android手機(jī)ROOT工具,360一鍵root不需要復(fù)雜的root程序,只需要安裝好360一鍵root就可以實(shí)現(xiàn)一鍵root輕松解決手機(jī)root問題。360一鍵root目前支持市場(chǎng)上眾多android手機(jī)...
次閱讀
使用安卓系統(tǒng)的用戶應(yīng)該都知道,谷歌在安卓中內(nèi)置了彩蛋,只需要狂點(diǎn)安卓系統(tǒng)版本號(hào)就會(huì)彈出一個(gè)彩蛋的畫面。 安卓6.0當(dāng)然也不例外,只不過換成了大大的棒棒糖形象。 有趣的是...
次閱讀
對(duì)于安卓手機(jī)支持什么格式,很多用戶覺得安卓手機(jī)和電腦一樣,應(yīng)該什么視頻格式都支持吧?但現(xiàn)實(shí)會(huì)發(fā)現(xiàn)安卓手機(jī)默認(rèn)支持的視頻格式并不多,除了一些熟悉的MP4、3GP格式支持外,其他諸如...
次閱讀
關(guān)于谷歌剛剛發(fā)布的最新版Android L操作系統(tǒng),大家都已經(jīng)有所了解,除了帶來了在界面及功能上的改進(jìn)之外,谷歌在Android L中還加入了名為Project Volta的新項(xiàng)目,旨在增加Android設(shè)備的續(xù)...
次閱讀
安卓5.0最大的變化就是通知中心下拉菜單,安卓5.0系統(tǒng)下拉菜單可以可以進(jìn)入設(shè)置,也可以直接控制常用功能,比如WiFi、藍(lán)牙、豎屏鎖定、GPS等功能,點(diǎn)擊圖標(biāo)下方的文字直接進(jìn)入相應(yīng)...
次閱讀
榮耀手環(huán)3怎么樣?大家是不是也想了解榮耀手環(huán)3配置屬性呢?那么下面綠茶小豆子為大家詳細(xì)介紹榮耀手環(huán)3功能信息,讓大家了解這個(gè)新手環(huán)!...
次閱讀
MOZILLA VPN現(xiàn)在可在WINDOWS 10和ANDROID上使用 Mozilla已在六個(gè)國(guó)家(包括美國(guó),加拿大和英國(guó))正式推出了適用于Windows 10和Android設(shè)備的虛擬專用網(wǎng)絡(luò)(VPN)。 它...
次閱讀
樓主你好!我知道紅米2怎么設(shè)置鎖屏密碼,快來看一下吧。 1)打開紅米2手機(jī)點(diǎn)擊設(shè)置進(jìn)入,然后再點(diǎn)擊【鎖屏和密碼】,進(jìn)入后再點(diǎn)擊【屏幕密碼】;(如下圖) 2)進(jìn)入設(shè)置鎖界面繪制【鎖...
次閱讀
mobike lite和mobike的區(qū)別是什么?相信很多用戶對(duì)于這兩款車型還不清楚,下文介紹摩拜mobike和mobike lite對(duì)比,一起和小樂哥來了解下吧!...
次閱讀
在 Android 5.0 Lollipop中,你可以在【提示音和通知】里設(shè)置鎖屏通知是否顯示。在設(shè)定了 PIN 碼/圖案解鎖后,還可以設(shè)置隱藏敏感通知內(nèi)容。 如上圖,安卓5.0系統(tǒng)你的敏感信息就被隱藏起...
次閱讀
魅族MX四核版刷機(jī)教程如下: 一、準(zhǔn)備 1、備份聯(lián)系人:因?yàn)楸敬紊?jí)需要清除所有數(shù)據(jù),所以刷機(jī)之前需要保存一下聯(lián)系人。這里有兩種方法。 (1)就是將聯(lián)系人全部倒入到SD卡里。等...
次閱讀
對(duì)于安卓手機(jī)支持什么格式,很多用戶覺得安卓手機(jī)和電腦一樣,應(yīng)該什么視頻格式都支持吧?但現(xiàn)實(shí)會(huì)發(fā)現(xiàn)安卓手機(jī)默認(rèn)支持的視頻格式并不多,除了一些熟悉的MP4、3GP格式支持外,其...
次閱讀