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

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

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

  1. 安装MonkeyDev
bash 复制代码
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
  1. 打开XCode,选择MonkeyDev下的Comand-line Tool
  1. 可以选择,c,c++,OC(Foundation),的脚本

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

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

  2. Comand+B编译项目

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

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

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

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

  1. 遇到编译问题: 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目录需要手动创建)

再次编译即可成功

  1. 可以查看效果:在mac终端登录手机ssh,进入/var/jb/usr/bin, 查看ls -all TaskDaemonOCDev
  1. 手机上运行遇到的问题: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/*,再次运行即可

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

  1. 如果设备是ios15以下的越狱机,创建项目和ios15以上一样的,在build编译后,只需要修改Monkey配置的ip,密码,端口,即可运行成功
  1. mac终端ssh登录iphone,运行二进制文件

OK,完美~

相关推荐
张较瘦_28 分钟前
[论文阅读] 人工智能 + 软件工程 | 大模型破局跨平台测试!LLMRR让iOS/安卓/鸿蒙脚本无缝迁移
论文阅读·人工智能·ios
lichong95141 分钟前
【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之video 的各种状态和生命周期调用说明
android·vue.js·macos
程序务虚论44 分钟前
mac M1上安装windows虚拟机报错
windows·macos·parallels
今天头发还在吗4 小时前
【Go】:mac 环境下GoFrame安装开发工具 gf-cli——gf_darwin_arm64
macos·golang·go·gf-cli
小妖6667 小时前
MAC在home下新建文件夹报错“mkdir: test: Operation not supported”
macos
m0_6410310510 小时前
在选择iOS代签服务前,你必须了解的三大安全风险
ios
北冥有鱼被烹11 小时前
【问题解决】mac笔记本遇到鼠标无法点击键盘可响应处理办法?(Command+Option+P+R)
macos
开开心心loky11 小时前
[iOS] push 和 present Controller 的区别
ui·ios·objective-c·cocoa
大熊猫侯佩12 小时前
10 个 Xcode 神技:哥谭开发者必学的 IDE 对抗术
xcode·swift·apple
Winter_Sun灬15 小时前
Mac开发第一步 - 安装Xcode
ide·macos·xcode