iOS越狱开发
Posted devileo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS越狱开发相关的知识,希望对你有一定的参考价值。
usbmuxd
使用usbmuxd可以通过USB线来ssh远程连接ios设备。
# 启动usbmuxd,将22端口映射到2222端口
$ python usbmuxd/python-client/tcprelay.py -t 22:2222
# ssh建立连接
$ ssh root@localhost -p 2222
# scp发送文件
$ scp -P 2222 file.ext root@localhost:~/file.ext
注意:usbmuxd 1.0.8版尚无法区分,始终连接最后一台接入电脑的iOS设备。
在iOS 11.1.x越狱的设备运行未签名的App
需要ssh连接设备,在设备上使用jtool对App进行签名。
使用jtool进行签名需要entitlement文件,该文件可以从jb目录中任意App中提取出来,也可以自己创建,但必须包含 platform-application 键并且值为 true。
entitlement文件内容:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>platform-application</key>
<true/>
</dict>
</plist>
签名示例:
# 提取entitlement文件
$ jtool --ent /jb/usr/local/bin/jtool > plat.ent
# 对MyApp进行签名
$ jtool --sign platform --ent plat.ent --inplace MyApp
# root目录下是没有权限运行App的,需要将App移动到jb目录下
$ mv MyApp /jb/usr/local/bin/
# 运行MyApp
$ /jb/usr/local/bin/MyApp
注意:jtool无法对胖文件进行签名,请先对App进行瘦身再进行签名。鉴于iOS 11开始只能运行arm64的App,所以只需要提取出arm64架构的文件即可。
使用jtool提取arm64架构文件
# 从MyApp胖文件中提取arm64架构文件。
$ jtool -e arch -arch arm64 MyApp
# 提取出的文件将保存为MyApp.arch_arm64
iOS 11越狱后,如何利用从AppStore下载的ssh终端连接本机
由于直接连接会被拒绝,所以需要使用dropbear开放非22端口的ssh服务。
在电脑上ssh连接手机,输入以下命令。
dropbear -P/var/run/dropbear2.pid -p0.0.0.0:2222 -R --shell /jb/bin/bash
然后在手机上打开终端,连接localhost:2222即可。
以上是关于iOS越狱开发的主要内容,如果未能解决你的问题,请参考以下文章