前段时间回家没带调试机又想调试下某个软件, 只能把自己的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权限, 所以在意这个的话就找个调试机玩玩吧
网友评论