有一段時間很好奇的乙個事情,假設我現在有一部手機,我又正好忘記它的密碼,那我要怎麼做?
手頭這一部安卓的pin碼是四位數,假如是純數字,那麼0000-9999一共是10^4種組合,而每輸入錯誤五次要等待30秒,不長不短,不間斷的輸入約需要55個小時左右,未免太挑戰人類耐心的極限了。
那麼通過漏洞或者除錯模式破解,應該可行,甚至一鍵解鎖。但這裡要考慮更極端的環境
假設adb禁用,網路沒有開啟,除錯模式也沒有開(我的手機預設是這樣的),那麼該如何是好?
所想到的大致的解決:
寫乙個鍵盤,利用34u2的usb介面模擬hid,實現從usb介面侵入(機器化輸入)
最初的方案:
通過otg實現外接鍵盤,再程式設計,實現輸入數字
輸入---》迴圈五次-----》等待31秒
有個問題是,五十五個小時,供電怎麼辦?
改進方案:
增進一條電源匯流排,外接電源到手機上面,這樣就能解決手機供電的問題
假設,我破解完了,然後進入手機,但是外接的mcu並不知道,所以並不會停止輸入,因此還要讓它停止
再次改進方案:
通過影象識別是否完成了暴力破解
這部分的操作
輸入pin---》通知pc確認---》pc採集影像---》二值化----》比較特定區域的前後區別
不過這個我覺得有個bug,就是usb作為hid裝置時候是不能夠輸入串列埠的,所以還要用其他裝置來作為板載串列埠輸入(比如說藍芽模組)。
增進廉價改進方案:
利用一枚色彩感測器,告知晶元是否完成了破解並記錄最近的pin碼
先將我們的色彩感測器貼在螢幕上面,那麼就可以直接的了解是否是有色彩的變化(進入主ui),只要採取特徵比較就可以達到,並且不受到螢幕亮度變化的影響
至於蘋果和其他:
蘋果失敗後最大會有半小時的鎖定,而且,並不支援otg,還有ms 的wp,那玩意沒人用吧? 完
通過NodeJs JPush實現安卓的異地登陸
因公司業務需要,需要實現乙個異地登陸然後下線的功能,說的可能有點糊塗,可以先看下實現的效果圖 安裝jpush 極光 的nodejs版 廢話就不多說,直接就上 吧!npm install jpush sdk npm install npm install 後加 registry org info un...
安卓實現軟鍵盤的彈出
先總結一堆 中涉及到的知識點 1 旋轉角度 imageview.animate rotation 90 setduration 1000 animate rotation 90 這個是表示旋轉90度的意思,這裡是要用到的。2 安卓中軟鍵盤的一些用法 android inputmethodmanage...
安卓中鍵盤輸入事件的實現
鍵盤的處理有幾種方式,其中看需求情況,有的是 鍵盤進行事件處理,有的是正在輸入時候進行鍵盤處理,今天我實現鍵盤輸入時進行事件的處理 et01.addtextchangedlistener new textwatcher override public void beforetextchanged c...