iOS进阶移动开发iOS动态调试

iOS逆向 debugserver + lldb的安装调试

2016-07-03  本文已影响2222人  wg689

看似有一些资料可以参考的,由于iOS,MAC系统不断地升级,没有一篇文章是可以完全参考的,每个地方学一点才做出来

1.高度参考【原创】lldb +debugserver调试环境部署(一) 这一篇文章的1,2步,此处就不赘述

 1.1.下载编译ldid(教材上已经说过下载此步骤忽略)
 2.2.获取debugserver和ARMDisassembler.framework(**很重要**)

2.导出debugserver 到一个叫/Users/wanggang的目录下
cd /Users/wanggang

3.执行命令

 wanggangdeMacBook-Pro:~ wanggang$ lipo -thin arm64 ~/debugserver -output ~/debugserver

4.给debugserver添加task_for_pid权限
在终端输入命令ldid -Sent.xml debugserver
ldid—签名工具,通过plist文件指定了授予一应用的一组特权
注意-S是参数紧跟第一个参数
然后会生成一个新的debugserver。。。。 这样准备工作就做好了

5.将经过处理的debugserver拷回iOS
将经过处理的debugserver拷回iOS,并添加执行权限root# chmod +x /usr/bin/debugserve,拷贝命令如下,其中iOSIP是手机的IP,scp ~/debugserver root@iOSIP:/usr/bin/debugserver拷贝到手机,

snakeninnysiMac:~ snakeninny$ scp ~/debugserver
root@iOSIP:/usr/bin/debugserver
snakeninnysiMac:~ snakeninny$ ssh root@iOSIP
FunMaker-5:~ root# chmod +x /usr/bin/debugserve

6.输入debugserver *:1234 -a "SpringBoard"看效果,效果图见lldb配置成功效果图.gif,出现如图所示说明LLDB和debugserver配置成功了,这个命令需要运行3-4分钟,在wifi条件下,process 0 出现才算成功

成功效果图
lldb配置成功效果图.gif

其他命令参考

scp root@192.168.1.100:/Developer/usr/bin/debugserver ~/debugserver
cd /Volumes/DeveloperDiskImage/Library/PrivateFrameworks
scp -r -p 22 ARMDisassembler.framework root@192.168.1.100:/System/Library/PrivateFrameworks

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

cd /Volumes/DeveloperDiskImage/usr/bin/
lipo -thin arm64 ~/debugserver -output ~/debugserver

参考文献:

iOS逆向工程第二版
iOS 菜鸟逆向学习 (二)----iOS debugserver + lldb的安装调试

【原创】lldb +debugserver调试环境部署(一)

iOS Reverse Engineering Part One: Configuring LLDB(前面的部分可参考)

一步一步用debugserver + lldb代替gdb进行动态调试

上一篇下一篇

猜你喜欢

热点阅读