【发布时间】:2014-02-11 15:29:19
【问题描述】:
我目前正在探索创建越狱调整。我想解锁手机屏幕。这是怎么做的?在 iOS 7 上可以使用哪些私有 API 来实现这一点?
【问题讨论】:
标签: jailbreak iphone-privateapi
我目前正在探索创建越狱调整。我想解锁手机屏幕。这是怎么做的?在 iOS 7 上可以使用哪些私有 API 来实现这一点?
【问题讨论】:
标签: jailbreak iphone-privateapi
如果我们谈论的是越狱,那么您可以编写一个 SpringBoard 调整来执行此操作(仅限 iOS 7)
[[objc_getClass("SBBacklightController") sharedInstance] turnOnScreenFullyWithBacklightSource:0];
[[objc_getClass("SBLockScreenManager") sharedInstance] unlockUIFromSource:0 withOptions:nil];
如果没有密码锁定,密码将打开屏幕并解锁设备。有了密码,它会打开屏幕并请求密码。
【讨论】:
CFNotificationCenterGetDarwinNotifyCenter、CFNotificationCenterPostNotification 和 CFNotificationCenterAddObserver 函数是您需要的一切。
我使用 Cydia 的 Activator 通过 SSH 唤醒和解锁设备。它适用于 IOS 10.1。
activator send libactivator.system.homebutton
activator send libactivator.system.homebutton
锁定命令在这里:
activator send libactivator.system.sleepbutton
祝你好运玩得开心:)
【讨论】:
我的解决方案分为两部分,但可能会更好:
通过使用此代码模拟电源按钮按下来打开屏幕:
VNCSendHIDEvent(IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, mach_absolute_time(),
kHIDPage_Consumer, kHIDUsage_Csmr_Power, 1, 0)); // Power button down
VNCSendHIDEvent(IOHIDEventCreateKeyboardEvent(kCFAllocatorDefault, mach_absolute_time(),
kHIDPage_Consumer, kHIDUsage_Csmr_Power, 0, 0)); // Power button up
1 后屏幕会亮起,然后你可以使用SimulateTouch 的触控工具从命令行模拟滑动。
对于上述 1,您的代码需要具有 com.apple.private.hid.client.event-dispatch entitlement。
更多信息,您还可以研究Activator 如何执行解锁屏幕侦听器。
【讨论】:
也许不是直接的解决方案。 您可以使用此调整和库https://github.com/iolate/SimulateTouch 来模拟用户在锁屏上滑动以解锁设备。
【讨论】: