一种重启iOS设备或使用私有API重启Springboard的方法?(A way to reboot iOS device or restart Springboard using private A
I am looking for some private API or piece of code which will allow me to reboot iOS device or restart Springboard.
I looked at SBReboot, but it looks like it's protected by some entitlement.
Also, I tried reboot(int) and reboot2(int), but it looks like both of them work only for "root" user and will do nothing for a "mobile" user.
I am looking for a solution which works on non jailbroken device. However, private API's are ok (an application won't go to AppStore)
Update 1
In response to Josiah answer below. Finding an expoit for gaining root privileges isn't the only option. As example, any vulnerability which will allow to crash kernel or Springboard is fine with me (even if it can't be used to get a root privileges).
解决方案
There is no private or public API that can be executed as mobile from inside of an app. It's annoying, but that's truth.
The only way this is possible is to have a jailbroken device, which you said isn't possible.
Finally, there aren't even any unsafe ways to do this. You can't overload the memory or anything that will cause a reboot. Apple just kills your app.
After finally, there is one thing you could do... Find an exploit that you can execute through this app, to get yourself root privileges until after a reboot. Possible, but your not getting that info from here.
Good luck though. (Oh, and if anyone does have a way to do this, let me know, this could be used as an exploit)
Edit
I found a way to restart the springboard without a jailbreak, however it does not really do what you want. But it could give people some ideas.
Firstly, you will just need to disable your devices passcode. If not, this glitch will not work. Go to Settings>;General>;Passcode Lock and turn it off.
Lock your device.
Enter lockscreen and turn your device in landscape mode (horizontally).
Swipe up that camera slider thing (I’m not sure how you call it, LOL) while remaining in landscape mode
As soon as the whole lockscreen is out and cannot be seen, press the home button and tap the photo library square on the now bottom right of the screen simultaneously. Note: do not need to wait for the camera to load and be active.
You should see the home screen for a very short time before you see an Apple logo/loading circle, your device is now respringing. (note: in iOS 6 Apple replaced the usual loading circle when respringing into the Apple logo, don’t worry your device is NOT rebooting)
我正在寻找一些私有API或一段代码,这将允许我重启iOS设备或重新启动Springboard。
我看了SBReboot,但它看起来像它受到某些权利的保护。
此外,我尝试了reboot(int)和reboot2(int),但看起来它们都只适用于root用户和对于移动用户不会做任何事情。
我正在寻找适用于非越狱设备的解决方案。但是,私有API是可以的(应用程序不会去AppStore)
更新1
回应Josiah的回答如下。寻找获得root权限的expoit不是唯一的选择。例如,任何允许崩溃内核或Springboard的漏洞对我来说都没问题(即使它不能用于获取root权限)。
解决方案
没有可以从应用程序内部作为移动设备执行的私有或公共API。这很烦人,但这是事实。
唯一可行的方法就是拥有一个越狱设备,你说这是不可能的。
最后,甚至没有任何不安全的方法可以做到这一点。您不能重载内存或任何会导致重新启动的内容。 Apple只会杀死你的应用。
最后,你可以做一件事......找到一个可以通过这个应用程序执行的漏洞,让自己获得root权限,直到重启后。可能,但你没有从这里得到这些信息。
祝你好运。 (哦,如果有人有办法做到这一点,请告诉我,这可以用作漏洞利用)
编辑
我找到了一种在没有越狱的情况下重启跳板的方法,但它并没有真正做到你想要的。但它可以给人们一些想法。
首先,你只需要禁用你的设备密码。如果没有,这个故障是行不通的。转到设置>;常规>;密码锁定并将其关闭。
锁定您的设备。
向上滑动相机滑块(我不知道你是怎么做的)在保持横向模式的同时调用它,LOL)
只要整个锁屏已经关闭且无法看到,请按主页按钮并点按照片库同时在屏幕右下角的正方形。注意:不需要等待相机加载并激活。
在看到Apple之前,您应该会在很短的时间内看到主屏幕徽标/加载圈,您的设备现在正在响应。 (注意:在iOS 6中Apple在重新插入Apple徽标时取代了通常的加载圈,不用担心你的设备没有重启)
进入锁屏并将设备置于横向模式(水平)。