我正在尝试通过USB(使用AFC2)从PC安装一个应用程序到越狱的iPhone,用于个人研究。该应用程序实际上是一个安装程序,因此它没有UI。
我最大的两个问题是:我不知道任何API通过USB服务运行命令,以便在复制后运行二进制文件。
然后,我安装了LaunchDaemon plist来启动我的安装程序,但似乎复制的二进制文件没有执行权限(可能是AFC2中的限制),因此启动守护程序失败。
所以现在我被困了。你有什么想法吗?
更新
感谢creker,我已经迈出了实现目标的一些步骤。他为我提供了几种解决方案,但我选择通过Cydia自动安装DEB,因为它看起来是最简单和最优雅的方法。
然而,我用这种方法也遇到了一些障碍:
现在我可以通过Cydia成功安装.deb文件;我在deb中加载应用程序和启动守护程序,但是启动守护程序无法启动应用程序,因为installd无法验证应用程序,这是用ldid伪造的(我认为ldid签名足以在越狱环境中运行);所以我想我要么签名是真的,要么我使用像AppSync这样的调整来绕过验证
我还尝试了以下公式:启动守护进程以启动bash脚本,然后启动应用程序,因为我看到cydia和OpenSSH注册了一些这样的启动守护进程,但我的脚本/启动守护进程被忽略所以我认为某处应该有一个技巧。我在这里错过了什么吗?
答案 0 :(得分:1)
你有WiFi吗?如果没有,您可以使用USB隧道。然后,您可以在设备上保存您的应用程序并使用SSH进行安装(为您提供所需的权限,然后启动)。这足以进行测试。或者您可以使用postinst脚本将其打包到debian包中,该脚本将执行所有安装。可以通过ssh和deb -i命令手动安装Debian软件包。或者您可以将其复制到/ var / root / Media / Cydia / AutoInstall中,它将在设备启动时自动安装。
对于root:wheel,您可以在postinst脚本中执行此操作。默认情况下,脚本使用root权限执行。只需为其中的所有文件设置所有必要的权限即可。如果它是守护进程,您甚至可以手动将其添加到launchd并立即启动。