XCode中使用MonkeyDev开发iOS版的Comand-line Tool的daemon程序

发布于:2025-03-28 ⋅ 阅读:(24) ⋅ 点赞:(0)

前提条件:iphone手机越狱ios15+,cydia/Sileo中安装好ssh,ldid等相关的常用插件

备注:如何iphone是ios15以下的越狱机,可直接看11步

1. 安装MonkeyDev

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"

2. 打开XCode,选择MonkeyDev下的Comand-line Tool 

3. 可以选择,c,c++,OC(Foundation),的脚本

Include Simple PreferenceLoader 选项是创建一个可以在系统设置中配置的条目

4. 以Foundation的OC为例,Next创建项目

5. Comand+B编译项目

6. 遇到编译问题: Received disconnect from ::1 port 22:2: Too many authentication failures

解决办法:配置手机的ip,密码,端口等信息

7. 遇到编译问题: ackage architecture (iphoneos-arm) does not match system (iphoneos-arm64)

解决办法:需要在control文件中配置成arm64

8. 遇到编译问题: unable to create '/usr/bin/TaskDaemonOCDev.dpkg-new' (while processing 'usr/bin/TaskDaemonOCDev'): Read-only file system 

原因分析:ios15以下的越狱机都是rootful有根的越狱,可以完全访问整个文件系统,ios15以上的越狱机都是rootless有根的越狱,只能访问部分文件系统,都需要放在/var/jb/目录下,才有读写权限。

解决办法:修改Installation directory目录放在/var/jb下

还需要将工程中的usr文件夹放在var/jb/目录下(var/jb目录需要手动创建)

再次编译即可成功

9. 可以查看效果:在mac终端登录手机ssh,进入/var/jb/usr/bin, 查看ls -all TaskDaemonOCDev

10. 手机上运行遇到的问题:zsh: killed     ./TaskDaemonOCDev (ios15系统一下是:killed 9)

原因分析:iOS 由于安全限制(如 AMFI 和代码签名),需要关闭代码签名使用正确的工具链

解决办法:ldid -S TaskDaemonOCDev 

10.1 偶遇到问题

/Users/chenfan/Desktop/zejin/root_daemon/DamonOCRun/dpkg:1:1: parsing file '/var/jb/Library/dpkg/updates/0000' near line 13 package 'com.yishuihuayuan.damonocrun':

解决方法:这个错误通常是由于 dpkg 配置损坏updates 目录中的文件格式错误

移除坏掉的文件:rm -rf /var/jb/Library/dpkg/updates/*,再次运行即可

大功告成,以上算是运行成功了!

11. 如果设备是ios15以下的越狱机,创建项目和ios15以上一样的,在build编译后,只需要修改Monkey配置的ip,密码,端口,即可运行成功

12. mac终端ssh登录iphone,运行二进制文件

OK,完美~