构建iOS 远程调试环境

预备环境:
macOS jailbreak iOS

1 拷贝debugserver 至Mac 本地

1
2
scp root@{iOS ip}:/Developer/usr/bin/debugserver ~/debugserver
lipo -thin arm64 ~/debugserver -output ~/debugserver

2 给debugserver 添加 task_for_pid 权限
新建文件 ent.xml

1
2
3
4
5
6
7
8
9
10
11
12
<plist version="1.0">
<dict>
<key>com.apple.springboard.debugapplications</key>
<true/>
<key>get-task-allow</key>
<true/>
<key>task_for_pid-allow</key>
<true/>
<key>run-unsigned-code</key>
<true/>
</dict>
</plist>

1
ldid -Sent.xml debugserver

3 将处理过后的 debugserver 拷贝会 iOS

1
2
3
scp ~/debugserver root@{iOS ip}:/usr/bin/debugserver
ssh root@{iOS IP}
chmod +x /usr/bin/debugserver

常看 库支持的架构 lipo -info {bin}

使用 debugserver

相关知识:
ssh
scp
lipo
ldid

reference