iOS攻防 - (十二)LLDB和DebugServer配合使用

iOS攻防 - (十二)LLDB和DebugServer配合使用

1.介绍

debugserver是运行在iOS上。从它的名字你就能看出,debugserver扮演着一个服务器的角色,可以执行在MAC OS X客户端执行LLDB命令,并把结果反映到终端界面上,通常也成为”remote debugging”远程调试。debugserver默认在iOS系统里是没有的,但是,只要我们用Xcode在iPhone上调试过程序,它就会自动安装到iOS的目录 /Developer/usr/bin/ 。但是此种情况下,debugserver只能调试自己开发的程序。debug自己的程序多没意思,我们有源码了,什么都是一目了然,只要调试别人开发的程序,才有意思。所以,别担心,以下有一些小技巧教你如此调试别人的程序。

2.配置debugserver

2.1 首选从以下这张表中找出你的iOS设备对应的ARM类型

这里写图片描述
这里写图片描述

我的iOS设备是iPhone 5,所以对应的ARM类型是armv7s。
首先从iOS设备中把debugserver拷贝到OS X中,iOS路径是 /Developer/usr/bin/debugserver ,可以通过iFunBox拷贝,也可以通过scp命令,取决于你自己。这里我举栗子拷贝到OS X的Documents目录,然后执行如下瘦身命令

lipo -thin armv7s debugserver -output debugserver

armv7s,取决于你的iOS设备

2.2 给debugserver添加task_for_pid权限

下载 http://iosre.com/ent.xml 到 “/Users/victor/Documents” 的OSX目录下,然后运行以下命令:

/opt/theos/bin/ldid -Sent.xml debugserver

注意:-S和ent.xml中间没有空格

如果不知道theos和ldid,请看这篇文章 http://blog.csdn.net/u013538542/article/details/72811142

如果一切顺利,几秒钟内,这个命令就能执行完。倘若几分钟了,或者程序卡死在这条命令,那就取消吧,换一个方案。
下载 http://iosre.com/ent.plist 到 “/Users/victor/Documents/” 的OSX目录下,然后运行如下命令:

codesign -s - –entitlements ent.plist -f debugserver

2.3 拷贝修改好debugserver到iOS设备的 /usr/bin 目录下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值