iOS11越狱后使用debugserver调试App

前段时间回家没带调试机又想调试下某个软件, 只能把自己的i7越狱了, 按照以往的经验搭建调试环境

参考:http://iosre.com/t/debugserver-lldb-gdb/65

然后使用debugserver附加App的时候发现用不了, 弄了大半天才弄好, 所以在这里把自己遇到的坑说一下, 给给大家参考

这里我说下我用的越狱工具是: electra, github的地址是:https://github.com/coolstar/electra

首先说下第一个坑:

当我们把手机中的/Developer/usr/bin/debugserver拷贝出来减肥(iOS11可以不用减肥,因为只支持64位构架的程序),签名放到/usr/bin/debugserver后,然后使用 debugserver *:1234 -a "XXXX" 附加任意进程都会报错, 提示:

error: failed to attach to process named: "" (os/kern) invalid argument Exiting.

这是因为使用debugserver的时候没加路径, 默认运行的是/Developer/usr/bin/debugserver, 而这个路径的debugserver是没有调试其他App的权限的,所以正确的运行方法应该是:

/usr/bin/debugserver *:1234 -a "XXXX" 

ok, 这里又到了第二个坑了, 运行以上命令提示:

Killed

程序直接退出, 这里其实是因为我们在签名时用的/opt/theos/bin/ldid不支持iOS11, iOS11中应该使用另外一个支持SHA256算法的ldid,


git clone https://github.com/xerub/ldid.git


cd ./ldid


./make_ldid.sh


编译后得到ldid改名成ldid2, 放到/usr/bin/ldid2

然后执行ldid2 -Sent.xml debugserver签名

这次用scp把签好的debugserver拷贝到手机的/bootstrap/目录中

然后ssh进入/bootstrap/目录,执行./debugserver *:1234 -a "XXXX" , 这时如果你能附加成功了, 恭喜你不用往下看了

如果还是不行, 你需要下载electra的另一个分支, 自己用xcode编译源码获得ipa包安装越狱

地址:https://github.com/coolstar/electra/tree/614cc95f8931f09040798161cd835887644359b6

然后下载https://0x0.st/sq2A.bin, 改名为su, scp到手机的/bootstrap/目录并赋予执行权限

接下来运行命令

./su ./debugserver 127.0.0.1:1234 -a "XXX"

此时你应该能够附加成功了, 不过这个分支的越狱有个漏洞可以让任意程序获得root权限, 所以在意这个的话就找个调试机玩玩吧

你可能感兴趣的:(iOS11越狱后使用debugserver调试App)