看雪论坛
发新帖

[求助]debugserver 调试出错

hackbs 2015-8-24 13:43 3985
输入命令:/var/mobile/Containers/Bundle/Application/5E1D2837-0722-422D-B752-C051C3C32D91/BiLin.app/BiLin

出现问题:
 for armv7.
error: failed to launch process ./debugserver: failed to get the task for process 11992
Exiting.
本主题帖已收到 0 次赞赏,累计¥0.00
最新回复 (7)
hackbs 2015-8-24 15:29
2
自己解决了问题, 主要是没有给gdbserver 签名造成的。

参考链接:http://iphonedevwiki.net/index.php/Debugserver

解决方案1:
将以下代码保存为ent.xml
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<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>


然后用ldid 签名,前提是你要把ldid装在ios上,我相信大家这个环境肯定已经搭好了
//注意这里的Sent.xml并不是一个文件, -S是一个参数后面的ent.xml是文件
ldid -Sent.xml debugserver


如果方案1不通过就执行方案2

方案2:(方案2的前提是你需要一台苹果电脑哦, 我是向公司借的。
将以下代码保存为entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.springboard.debugapplications</key>
	<true/>
	<key>run-unsigned-code</key>
	<true/>
	<key>get-task-allow</key>
	<true/>
	<key>task_for_pid-allow</key>
	<true/>
</dict> 
</plist>


如何把ios里面的文件拷贝到苹果电脑里?
用  scp root@远程ip:/目录/fuck.exe ./本地目录/fuck.exe

同理 将苹果电脑程序拷贝到ios里面
用 scp ./本地目录/fuck.exe root@远程ip:/目录/fuck.exe


然后用苹果机里面的codesign命令
codesign -s - --entitlements entitlements.plist -f debugserver


经过上面的步骤我的已经可以用了,如果还是不行的小伙伴 只能说。。。。好好积德把
1
学编程 2015-8-24 19:55
3
正是签名的原因
dongcan 2015-12-29 18:11
4
表示使用方案2,但上传到原目录/Developer/usr/bin/失败,整个目录都提示没权限怎么破?remount也失败。
如果上到其他目录,debugserver无法执行,非法程序了(缺文件)。
逆羊羊 2015-12-29 18:49
5
传到/usr/bin/,不是/Developer/usr/bin/
dongcan 2015-12-29 19:43
6
问题搞清楚了,不是缺文件。
签名指令的问题,
加--entitlements 后是,进程不带指令运行是Killed 9
去掉的话,就是,带调试指令运行是

debugserver-310.2 for armv7.
error: failed to launch process ./debugserver: Security
Exiting.

---------
直接执行/Developer/usr/bin/debugserver的话就是楼主的 failed to get the task for process
dongcan 2015-12-29 19:52
7
用ldid也一样不行

iPhone:/usr/bin root# rm debugserver
iPhone:/usr/bin root# cp /Developer/usr/bin/debugserver /usr/bin/debugserver
iPhone:/usr/bin root# chmod 777 debugserver
iPhone:/usr/bin root# ./debugserver port:2008 /Applications/softwind.app/_softwind
debugserver-310.2 for armv7.
error: failed to launch process ./debugserver: failed to get the task for process 2078
Exiting.

#楼主的现象。
iPhone:/usr/bin root# ldid -Sent.xml debugserver
iPhone:/usr/bin root# ./debugserver port:2008 /Applications/softwind.app/_softwind
Killed: 9

====
另外还有种情况,程序能正常启动(签名正确),会出现
debugserver-310.2 for armv7.
error: failed to launch process debugserver: unknown error.
Exiting
pzwwei 2017-3-14 01:12
8
localhost:~ pzwwei$ codesign -s - --entitlements entitilement.plist -f debugserver debugserver: replacing existing signature debugserver: cannot find code object on disk 提示找不到code object是什么原因?
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.013, SQL: 10 / 京ICP备10040895号-17