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,完美~

相关推荐
mixboot1 天前
macOS Homebrew 安装 Nmap
macos·nmap
Haha_bj1 天前
Swift UI 状态管理
ios·app
2501_916007471 天前
iOS 应用性能测试的工程化流程,构建从指标采集到问题归因的多工具协同测试体系
android·ios·小程序·https·uni-app·iphone·webview
源码_V_saaskw1 天前
JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5
android·java·ios·微信小程序
Dream-Y.ocean1 天前
告别设备束缚!网易 UU 远程 Mac 被控体验:免费高清 + 多场景丝滑,跨端办公刚需神器
macos
tbit1 天前
fluwx 拉起小程序WXLog:Error:fail to load Keychain status:-25300, keyData null:1
flutter·ios·微信小程序
Sheffi1 天前
iOS 内存管理深度解析:从原理到实践
ios
QuantumLeap丶1 天前
《Flutter全栈开发实战指南:从零到高级》- 19 -手势识别
flutter·ios·前端框架
00后程序员张1 天前
iOS 抓不到包怎么办?从 HTTPS 解密、QUIC 排查到 TCP 数据流分析的完整解决方案
android·tcp/ip·ios·小程序·https·uni-app·iphone
Haha_bj1 天前
Swift UI数据存储
ios