从iOS应用程序连接到自己设备的“锁定”

xvw2m8pv  于 2023-03-05  发布在  iOS
关注(0)|答案(1)|浏览(210)

我的问题简单来说:有没有办法创建一个在iOS设备上运行的iOS应用程序,可以连接到自己设备的lockdownd并与之通信?

  • (对于想知道"原因"的好奇者:我想使用与lockdownd的连接来触发iOS设备上.ipa文件中的应用程序安装,这些文件具有"本地预配配置文件",即标记LocalProvision设置为true的预配配置文件,这意味着操作系统会阻止通过web-based installation进行无线/OTA安装。)*

一点背景知识:您可以从另一台设备连接到iOS设备的lockdownd
1.通过让第二设备充当iOS设备的USB主机,或者
1.通过在端口62078上与iOS设备建立基于WiFi的TCP连接。
通过使用libimobiledevice等库,您可以与iOS设备交互-例如触发.ipa文件中包含的应用的安装。
我已经研究和尝试过的:
1.根据Jon Gabilondo的一篇非常好的文章Understanding usbmux and the iOS lockdown servicelockdownd/var/run/lockdown.sock上创建了一个UNIX域套接字-不幸的是,它具有"特权511,这意味着只有root用户才能对其进行写入。"(引用自文章)--〉因此,我没有尝试访问/写入此套接字。

  1. lockdownd还打开了一个TCP端点监听端口62078在设备的wifi网络。--〉我已经创建了一个小的测试应用程序,试图建立一个TCP连接到127.0.0.1:62078。不幸的是,连接尝试失败,错误#1 "操作不允许"。当试图连接到IPv4分配的wifi的DHCP服务器到iOS设备。
    在iOS设备上运行的应用中,还可以使用其他什么选项来建立与该设备的lockdownd的连接?
mcdcgff0

mcdcgff01#

是的,connectlocalhost:62078(或任何其他解析为localhost的IP)是不允许的。我不知道苹果为什么决定这样做,因为从安全的Angular 来看这是没有意义的(网络中的其他设备可以连接,所以可能这只是一个额外的安全层,在网络设备没有启用的情况下)。
此外,我认为苹果不会支持您的用例,因为他们不允许第三方AppStore(尽管有人说它可能很快就会改变-https://www.gamesindustry.biz/apple-may-allow-third-party-app-stores-on-iphone-in-next-update)。
我看到的唯一可行的选择是设置一些外部端口转发(可以很容易地设置在许多路由器上)或有一些其他类型的代理,我实际上刚刚测试过,它完美的工作。

相关问题