Ios 在无需用户交互的越狱设备中从我的服务器安装ipa

Ios 在无需用户交互的越狱设备中从我的服务器安装ipa,ios,installation,hook,jailbreak,Ios,Installation,Hook,Jailbreak,我需要在无用户交互的越狱设备中安装我的应用程序(.ipa) 此安装必须由该设备中已安装的其他应用程序触发 My.ipa位于服务器中,因此是否可以通过itms://安装,或者是否有任何越狱替代方案 我想以静默方式安装此应用程序(没有MDM),不应弹出“安装”取消“警报供用户选择 让我知道是否有可能通过%hook实现这一点 我上述问题的解决方案 下面的每一步在内部都有100多个步骤。如果您不熟悉越狱应用程序/工具开发,这将是一场噩梦。很抱歉,我无法共享代码,因为我是为客户做的。但是stack ov

我需要在无用户交互的越狱设备中安装我的应用程序(.ipa)

  • 此安装必须由该设备中已安装的其他应用程序触发
  • My.ipa位于服务器中,因此是否可以通过
    itms://
    安装,或者是否有任何越狱替代方案
  • 我想以静默方式安装此应用程序(没有MDM),不应弹出“安装取消“警报供用户选择
  • 让我知道是否有可能通过
    %hook
    实现这一点

    • 我上述问题的解决方案

      下面的每一步在内部都有100多个步骤。如果您不熟悉越狱应用程序/工具开发,这将是一场噩梦。很抱歉,我无法共享代码,因为我是为客户做的。但是stack overflow解决了我在下面分别提到的各种组件的问题。一旦您对单独的组件进行了一点POC,我的回答将帮助您将它们组合在一起

      这只适用于越狱设备和破解的ipa文件

    • 创建一个守护程序应用程序
    • 确保它在后台全天候运行
    • 要从服务器触发安装,请添加socket.io(或任何其他 类似的框架)到应用程序(因为守护程序应用程序总是在运行, 确保与服务器的套接字连接也始终处于活动状态)
    • 通过socket.io服务器将压缩的ipa文件的URL发送到守护程序应用程序
    • 在守护程序应用程序中,将.zip解压到.ipa
    • 解压后,有两种方法可以安装应用程序
    • 简单的方法是将.ipa进一步解压缩到.app并将.app文件夹移动到 iPhone中的应用程序文件夹
    • 有一个私有的springboard api,它将ipa文件路径作为 输入并安装它
    • 如果你不能破解ipa

      这比上面更复杂:)您必须运行打开AppStore的代码,搜索应用程序并安装它

    • 同上,直至步骤3
    • 手动(对于POC)记录安装任何应用程序所需的AppStore内所有按钮点击的坐标。像单击底部的搜索选项卡一样,选择搜索栏,在搜索栏中插入文本,单击搜索按钮,从结果中单击获取/安装按钮
    • 创建一个动态库,将这些坐标作为输入并执行uiautomation。将此动态库注入AppStore
    • 从服务器将此坐标发送到守护程序应用程序,守护程序将此坐标传递到动态库并从后台打开AppStore
    • 一旦AppStore打开,动态库的美妙之处在于,它将自动启动并启动ui自动化

    • 你找到解决方案了吗?是的。但那是很久以前的事了。我会尽量回忆并补充下面的答案。谢谢你的回答。如果我成功了,我会尽力让你知道。我正在为我的团队进行本地构建和分发系统。开发者推到git repo,unity 3d+xcode构建ipa文件,然后我需要在我们的设备上推送并启动ipa。太好了!请注意,以上所有内容都是针对越狱iPhone的,而不是针对普通iPhone的。如果你想在普通的iPhone中使用它,那么你需要一个普通的应用程序(称为admin app)来代替后台守护程序,它通过URL模式打开你的新应用程序,一旦你的新应用程序启动并完成工作,你可以通过URL回叫admin app。通过这种方式,您可以保持admin应用程序的活动状态,并与socket.io 24/7连接。不过,以编程方式在普通手机中安装新的ipa可能是一个问题!一个可能的方向是,Xcode可以在连接的(wifi/有线)电话上安装应用程序。所以理论上你可以编写一个脚本并在一台mac机器上运行它,这台机器和Xcode完全一样。