基本上,想法是在脚本中添加一个模式解锁,在计算机上运行,通过adb连接到手机。所以,像adb shell输入事件。模式已知,没有黑客攻击。有没有办法通过adb解锁android手机,如果我知道模式
回答
这是一个老问题,但在帮助人谁发现这个职位的兴趣,检查出my android-pattern-unlock shell script。
它使用ADB的sendevent在锁定屏幕上绘制已知的解锁图案。为我工作,让我获得了一个破碎的屏幕访问。
我认为 - 没有。因为你不能模拟触摸事件(特别是如果锁是刷卡组合或数量)
我在我的S4上试过Matt Wilson的android-pattern-unlock shell script,但我不得不做一些调整才能使它工作。 下面是我遵循的步骤:
- 利用亚行与代码(adbcontrol)的this得心应手位,查看设备的屏幕。它允许您查看设备的屏幕并输入点击和滑动事件。不管你多努力,你都无法使用这个程序输入你的模式。
- 通过点击点按顺序获取您的模式的坐标。使用adbcontrol的输出窗口查看坐标。现在你将有一组坐标{(x1,y1),(x2,y2),(x3,y3),(x4,y4)}(对于4点模式)。
- 将以下命令复制到您的终端中,用您的坐标替换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
来解决它们。
我的触摸屏的底部已损坏 - 我使用'getevent'来描述抓取解锁图案上半部分的坐标,推导出下半部分的坐标,并使用脚本解锁手机,然后移除解锁模式。救命稻草! – chris
我不得不改变马特威尔逊的脚本让我的Galaxy Note 4工作。你的笔记帮助了很多。谢谢。对于像我这样的人,[链接](https://github.com/neokim/android-pattern-unlock/blob/master/unlock.sh) –
什么似乎是最简单的(我的Galaxy S4与JDC Optimized CM 13一起工作的效果)是Vysior,这是一款Chrome扩展程序,它为我“开箱即用”。
更确切地说,这是我在S4屏幕变得不存在后所做的。
- 如解释here所述安装最小ADB和快速启动。在我的情况下,我已经启用了ADB调试,这为我节省了很多麻烦。
总部设在说明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
因此,总部设在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
但马gic应该发生(即我的手机屏幕出现在我的电脑屏幕上)没有发生。我认为我的图案锁屏必须防止事情发生。这是当我安装Vysor和一分钟左右后,它在手机上安装Vysor应用程序,我看到我的电脑屏幕上我的锁屏,并能够进入模式解锁(它甚至可以用我的手指在我的平板电脑的触摸屏!)。
- 1. 有没有办法知道手机是否有通话?
- 2. 有没有办法知道iOS设备何时锁定/解锁?
- 3. adb-有没有办法模拟IME_ACTION _DONE?
- 4. 通过adb发送AT命令到Android手机通过adb
- 5. 有没有办法知道自定义通知即将显示?
- 6. 有没有办法来获取手机
- 7. 有没有任何通知解锁屏幕滑动解锁iphone?
- 8. 有没有办法通过实例方法知道类名?红宝石
- 9. Android通知栏图标,有没有办法锁定图标的位置?
- 10. 有没有办法将通知从手机发送到网络浏览器
- 11. 有没有办法隐藏Vaadin通知?
- 12. Android - 有没有办法跳过HTC One的“锁屏”?
- 13. 有没有办法知道文件名是否是Excel格式?
- 14. 如何通过ADB锁定Android屏幕?
- 15. 有没有办法覆盖锁定模式屏幕?
- 16. 有没有办法改变Android手机的MTU尺寸?
- 17. 有没有办法知道谁下载我的Github存储库
- 18. freemarker:有没有办法让我知道调用url?
- 19. 有没有办法跟踪推送通知,如果用户没有点击它
- 20. WiFi连接的Android手机通过ADB观看模拟器
- 21. 有没有办法知道哪些组件通过操作更新
- 22. 有没有办法通过知道他们指向的地址来恢复CNAME?
- 23. 有没有办法知道URL分派器通过查看的变量名?
- 24. 有没有办法检测Iphone,如果通过javascript动摇?
- 25. 如何通过代码远程解锁android手机
- 26. 有没有办法在rails中通过button_to形式发送flash通知?
- 27. 有没有办法解决Oracle中的更改通知?
- 28. Android有没有办法知道哪些应用程序在通知区域显示通知?
- 29. 以编程方式解锁Android手机?
- 30. Android - 有没有办法知道用户何时向他的手机添加新联系人?
不得不改变/ bin/sh到/ bin/bash,它的工作方式就像一个魅力! (Nexus 4,Android 5.1.1) – Murmel
您刚刚链接到脚本,但没有解释如何将它与ADB一起使用。我让亚行坐在这里,我可以看到我的设备,但我该如何使用脚本?不,脚本文件中的注释并没有太大的帮助。谢谢! – Soundfx4
@ Soundfx4 - 打开一个终端,cd到脚本中的文件夹,然后在注释中运行命令:“chmod + x unlock.sh”,然后“./unlock.sh”。请注意,该脚本旨在在Mac或Linux计算机上运行,并且您需要设置adb。该脚本将为您运行adb命令。 –