2014-05-07 45 views

回答

9

這是一個老問題,但在幫助人誰發現這個職位的興趣,檢查出my android-pattern-unlock shell script

它使用ADB的sendevent在鎖定屏幕上繪製已知的解鎖圖案。爲我工作,讓我獲得了一個破碎的屏幕訪問。

+1

不得不改變/ bin/sh到/ bin/bash,它的工作方式就像一個魅力! (Nexus 4,Android 5.1.1) – Murmel

+0

您剛剛鏈接到腳本,但沒有解釋如何將它與ADB一起使用。我讓亞行坐在這裏,我可以看到我的設備,但我該如何使用腳本?不,腳本文件中的註釋並沒有太大的幫助。謝謝! – Soundfx4

+0

@ Soundfx4 - 打開一個終端,cd到腳本中的文件夾,然後在註釋中運行命令:「chmod + x unlock.sh」,然後「./unlock.sh」。請注意,該腳本旨在在Mac或Linux計算機上運行,​​並且您需要設置adb。該腳本將爲您運行adb命令。 –

-8

我認爲 - 沒有。因爲你不能模擬觸摸事件(特別是如果鎖是刷卡組合或數量)

5

我在我的S4上試過Matt Wilson的android-pattern-unlock shell script,但我不得不做一些調整才能使它工作。 下面是我遵循的步驟:

  1. 利用亞行與代碼(adbcontrol)的this得心應手位,查看設備的屏幕。它允許您查看設備的屏幕並輸入點擊和滑動事件。不管你多努力,你都無法使用這個程序輸入你的模式。
  2. 通過點擊點按順序獲取您的模式的座標。使用adbcontrol的輸出窗口查看座標。現在你將有一組座標{(x1,y1),(x2,y2),(x3,y3),(x4,y4)}(對於4點模式)。
  3. 將以下命令複製到您的終端中,用您的座標替換xi和yi。

`

adb shell input keyevent 26 
adb shell sendevent /dev/input/event3 3 57 14 

adb shell sendevent /dev/input/event3 1 330 1 

adb shell sendevent /dev/input/event3 3 53 x1 
adb shell sendevent /dev/input/event3 3 54 y1 
adb shell sendevent /dev/input/event3 3 58 57 
adb shell sendevent /dev/input/event3 0 0 0 

adb shell sendevent /dev/input/event3 3 53 x2 
adb shell sendevent /dev/input/event3 3 54 y2 
adb shell sendevent /dev/input/event3 3 58 57 
adb shell sendevent /dev/input/event3 0 0 0 

adb shell sendevent /dev/input/event3 3 53 x3 
adb shell sendevent /dev/input/event3 3 54 y3 
adb shell sendevent /dev/input/event3 3 58 57 
adb shell sendevent /dev/input/event3 0 0 0 

...

adb shell sendevent /dev/input/event3 3 53 xn 
adb shell sendevent /dev/input/event3 3 54 yn 
adb shell sendevent /dev/input/event3 3 58 57 
adb shell sendevent /dev/input/event3 0 0 0 

adb shell sendevent /dev/input/event3 3 57 4294967295 
adb shell sendevent /dev/input/event3 1 330 0 
adb shell sendevent /dev/input/event3 0 0 0 

`

這些步驟在銀河S4的工作,它看起來像馬特威爾遜的代碼爲Nexus 4寫入。

備註:

- 我的S4使用/dev/input/event3作爲觸摸屏設備,它看起來像Nexus 4使用/dev/input/event2。如果您的設備使用不同的文件,請將所有命令更改爲傳輸該文件的所有命令。您可以通過運行adb shell getevent

-I看到的設備列表不得不在某些命令添加到使在S4這項工作,具體包括:

adb shell sendevent /dev/input/event3 1 330 1 

adb shell sendevent /dev/input/event3 1 330 0 

我不是當然,但我認爲第一個命令表示觸摸屏上的手指按下事件,第二個命令表示觸摸屏上的手指擡起事件。我通過在不同的S4上查看getevent輸出爲/dev/input/event3來解決它們。

+1

我的觸摸屏的底部已損壞 - 我使用'getevent'來描述抓取解鎖圖案上半部分的座標,推導出下半部分的座標,並使用腳本解鎖手機,然後移除解鎖模式。救命稻草! – chris

+0

我不得不改變馬特威爾遜的腳本讓我的Galaxy Note 4工作。你的筆記幫助了很多。謝謝。對於像我這樣的人,[鏈接](https://github.com/neokim/android-pattern-unlock/blob/master/unlock.sh) –

1

什麼似乎是最簡單的(我的Galaxy S4與JDC Optimized CM 13一起工作的效果)是Vysior,這是一款Chrome擴展程序,它爲我「開箱即用」。

更確切地說,這是我在S4屏幕變得不存在後所做的。

  1. 如解釋here所述安裝最小ADB和快速啓動。在我的情況下,我已經啓用了ADB調試,這爲我節省了很多麻煩。
  2. 總部設在說明here,我嘗試以下,但因爲很明顯我沒有寫訪問它沒有工作:

    adb shell echo "persist.service.adb.enable=1" >>/system/build.prop echo "persist.service.debuggable=1" >>/system/build.prop echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop reboot

  3. 因此,總部設在this answer,我做的不是跟隨,而工作(在這個意義上,我沒有寫諾雷訪問錯誤):

    adb remount adb shell echo "persist.service.adb.enable=1" >>/system/build.prop echo "persist.service.debuggable=1" >>/system/build.prop echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop reboot

  4. 但馬gic應該發生(即我的手機屏幕出現在我的電腦屏幕上)沒有發生。我認爲我的圖案鎖屏必須防止事情發生。這是當我安裝Vysor和一分鐘左右後,它在手機上安裝Vysor應用程序,我看到我的電腦屏幕上我的鎖屏,並能夠進入模式解鎖(它甚至可以用我的手指在我的平板電腦的觸摸屏!)。

+0

你是如何在手機上啓動Vysor應用程序的? – mahler

+0

它自動啓動。我不必做任何事情。 – Christoph

相關問題