So there is a jailbreak for iOS11 without substrate/cydia. Now I want to run debugserver after jb the device.
I already signed with enough entitlements I think:
-bash-3.2# jtool --ent debugserver
<!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/>
<key>com.apple.backboardd.debugapplications</key>
<true/>
<key>com.apple.backboardd.launchapplications</key>
<true/>
<key>com.apple.diagnosticd.diagnostic</key>
<true/>
<key>com.apple.frontboard.debugapplications</key>
<true/>
<key>com.apple.frontboard.launchapplications</key>
<true/>
<key>com.apple.springboard.debugapplications</key>
<true/>
<key>com.apple.springboard.launchapplications</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>run-unsigned-code</key>
<true/>
<key>get-task-allow</key>
<true/>
<key>task_for_pid-allow</key>
<true/>
<key>com.apple.system-task-ports</key>
<true/>
</dict>
</plist>
However when trying to debugserver *:1234 -a UnityExample
, it always shows
Attaching to process UnityExample...
Listening to port 1234 for a connection from *...
Failed to get connection from a remote gdb process.
If I change the ip to iPhone IP, like debugserver 192.168.1.157:1234 -a UnityExample
, it can actually wait:
Attaching to process UnityExample...
Listening to port 1234 for a connection from 192.168.1.157...
But apparently, it will only allow connection from the device, so using mac's lldb won't work.
I checked the kernel log, it prints:
Dec 27 10:21:54 iPhone1111 debugserver[564] <Notice>: 1 +0.000000 sec [0234/0303]: ::listen or ::bind failed err = 0x00000000
What did I miss? Thanks.
Same happens with me.
I get around this by:
This should work. Unfortunately I can only debug my own apps. Debugging Chrome.app for example starts well and works as long as i'm on the initial paused state, but the minute I resume it fails with EXC_BAD_ACCESS