使用debugserver + lldb 进行动态调试遇到的问题

首先说明配置, 10.10.3 + XCode6.4 + 8.3越狱, 机器是 iPad mini2

  1. 复制,使用 scp root@iOSIP:/Developer/usr/bin/debugserver ~/debugserver 成功,13M
  2. 减肥,使用 lipo -thin arm64 ~/debugserver -output ~/debugserver 成功,4.6M
  3. 把ent.xml 复制内容生成 ent.xml 和ent.plist 2个版本,放入 ~/ 目录.
  4. 给debugserver添加task_for_pid权限,
    使用 /opt/theos/bin/ldid -Sent.xml debugserver 报错, 之前把debugserver放入theos/bin/ 里面试过,sudo 得到的有权限的文件,测试过,也一样的效果.
    这里使用 codesign -s - --entitlements ent.plist -f debugserver,成功
  5. 先用pp删除了之前的/usr/bin/debugserver , 在将经过处理的debugserver拷回iOS
    将经过处理的debugserver拷回iOS,并添加执行权限,使用. root# chmod +x /usr/bin/debugserver
    //、在iOS上用debugserver来attach进程
  6. 直接终端输入debugserver,报kill 9
  7. 重启设备,进入ssh@root,使用 debugserver *:1234 -a “SpringBoard”,报 Killed: 9

第2中方法,不thin debugserver的大小, 重复3-7 的步骤,也是抱 KILL 9

第3种方法, copy ~/下面的 ent.xml/plist debugserver(13M,重新copy的一份) 到/opt/theos/bin, 并且cd到该目录
使用 ldid -Sent.xml debugserver 报错,

第4种方法,copy文件到 /opt/theos/ 不再进入bin里面, 执行 sudo ldid -Sent.xml debugserver ,成功生成对应的文件,继续

使用PP将生成的debugserver copy回 ios设备,
添加权限, chmod +x /usr/bin/debugserver
执行 debugserver *:1234 -a “SpringBoard” ,报kill 9

thx@ 夏ㄖ, 给我了一个他的debugserver(6.1 导出的),使用没有问题,目测是我的证书太多或者软件环境安装顺序的问题,
下载地址 http://pan.baidu.com/s/1jGJ5VwE, 我上传web说太大,就放baidu

ent.xml和ent.plist的文件内容应该是不同的

我感觉你的debugserver有问题,直接执行都报kill 9

xml我下载不了是直接打开的, 我copy保存为xml的,plist的内容和xml一样的.

xcode6.4的debugserver有问题,使用了 @夏日 的debugserver就ok, 现在还是动态调试不太会

xcode 6.4 的 debugserver 没问题啊,我下午刚搞了一个 在 armv7 armv7s arm64上跑都正常,要不要给你个我的 ent.xml 啊

你报错 ldid/minimal/mappint.h(54): _assert(false);errno = 2 这个问题我也有,后来我发现是保存网页的时候默认保存的是.webaricheve 格式,如果你在属性中修改成xml.再去添加权限就可以了,但是,我这样添加成功了,用debugserver 去启动还是killed:9,不知道什么问题,而且直接打debugserver 也是killed 9,可能是我的debugserver有问题吧,正在找,如果哪位大神有ios7.1 ,xcode 7 的麻烦给小弟一个啊~~谢谢 1743998535@qq.com

我也遇到同样的问题~ 直接kill 9~ 请问楼主有在xcode7上解决过吗?