ios逆向(四)debugserver+lldb调试-2019年最新版

1.将手机上Developer/usr/bin/debugserver文件拷贝出来

增加task_for_pid权限

下载ent.plist

lipo -thin arm64 debugserver -output debugserver
codesign -s - --entitlements  ent.plist -f debugserver

1.1 debugserver瘦身,首先根据你的iOS设备确定你的手机对应的ARM,4s是armv7,5,5c是armv7s,5s以上的机型都是arm64,我的手机是5s,所以对应的arm是arm64,所以只从debugserver保留arm64的架构即可。
1.2 ent.plist文件如果无法下载,按如下自己生成。 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.springboard.debugapplications</key>
	<true/>
	<key>run-unsigned-code</key>
	<true/>
	<key>get-task-allow</key>
	<true/>
	<key>task_for_pid-allow</key>
	<true/>
</dict> 
</plist>

补充:我手机是ios9.0,上述权限就够了,如果是ios10以上其它版本,或许还需要添加

platform-application权限。

2. 放到手机/user/bin/目录下。因为上面的目录权限是只读的

然后ssh到手机上

chmod +x /usr/bin/debugserver

增加可执行权限

开启debugserver服务监听
wangfeide-iPhone5s:~ root# debugserver *:1234 -a WeChat
备注 -a进程:输入APP的进程信息(进程ID或者进程名称)

补充:上面的操作是我用的越狱机ios9.0,如果是其它越狱和手机系统版本

如果是electra越狱的ios11,需要用

/electra/jailbreakd_client <the pid> 1

/Developer/usr/bin/debugserver localhost:1234 -a <the pid>

如果是unc0ver越狱的ios12,(越狱后usr/bin/就有debugserver)直接用下面命令

debugserver localhost:1234 -a WeChat

3.在mac电脑上终端

我这边先本地使用usb转发了端口

iproxy 1234 1234

然后直接

Last login: Tue Sep 11 20:56:53 on ttys002
wangfeidembp:~ wangfei$ lldb
(lldb) process connect connect://localhost:1234

默认微信应用是卡住的

输入c命令才可以继续运行

(lldb) c
Process 5053 resuming
(lldb) 

备注,有时候 lldb连接失败,就 关掉 iproxy 1234 1234 的那个命令行窗口 和 lldb的命令行窗口,再重新开启命令行窗口。

或者重新连接手机尝试。

发布了96 篇原创文章 · 获赞 10 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/feifeiwuxian/article/details/82632844