2014-05-07 46 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

相关问题