《九阴真经: iOS黑客攻防秘籍》新书发布,干货满满,快来看看吧!

iOS 安全论坛 - 专注于研究 iOS 安全

 找回密码
 立即注册
查看: 46|回复: 11

LLDB 打断点手机就重启(respring) 了

[复制链接]

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 前天 16:50 | 显示全部楼层 |阅读模式
图书 16 页,《LLDB 连接 debugserver 及其调试》章节。可以连上 LLDB,没有错误信息。但是当打断点的时候,在 LLDB 执行
  1. b 0xXXX
复制代码

(其中 XXX 为真实内存地址),设备会重启。
断点设置有输出:
  1. (lldb) b 0x1007d5084</div><div>Breakpoint 1: where = cy-ZJnGJe.dylib`_dyld_start + 132, address = 0x00000001007d5084
复制代码
但是,设备就重启了。
另外自己写的代码也有问题,例如使用在 4.1.3《ARM64 的 main 函数入口》章节的简单 Demo,也是一样的效果。

设备:iPhone 6s Plus
系统:iOS 12.4
麻烦大佬给点建议,谢谢了
回复

使用道具 举报

117

主题

489

帖子

2008

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2008
发表于 前天 17:24 | 显示全部楼层
你是用什么越狱的?unc0ver 还是 checkra1n?用 Cydia 里的 debugserver 试一下呢?
回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 前天 18:10 | 显示全部楼层
exchen 发表于 2020-8-2 17:24
你是用什么越狱的?unc0ver 还是 checkra1n?用 Cydia 里的 debugserver 试一下呢?

非常感谢您的回复!
我回复的有点晚不好意思,因为我刚才在查看是否可以
我是用的是 unc0ver 越狱的。使用 Cydia 里面的 debugserver 无法启动应用(也可能是我不会用)
我使用
  1. debugserver  *:1234 LookMain
复制代码

得到一个错误:
  1. debugserver-@(#)PROGRAM:LLDB  PROJECT:lldb-10.0.0
  2. for arm64.
  3. error: failed to launch process debugserver: failed to get the task for process 2021
  4. Exiting.
复制代码

另外我以为是签名问题,所以对安装的 debugserver 重签名了,也是一样的效果。
麻烦问一下是我使用的方法不对嘛?

回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 前天 18:20 | 显示全部楼层
winann 发表于 2020-8-2 18:10
非常感谢您的回复!
我回复的有点晚不好意思,因为我刚才在查看是否可以
我是用的是 unc0ver 越狱的。使 ...

另外我是用
  1. debugserver -x fork 0.0.0.0:1234 LookMain
复制代码

可以启动 LLDB 调试(手机 App 没有启动)
在打断点的时候也是一样的问题——手机会重新启动
回复

使用道具 举报

117

主题

489

帖子

2008

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2008
发表于 前天 18:45 | 显示全部楼层
重启的问题,可能是和你要调试的进程有关系,有些系统进程不能挂起,换成你自己写一个程序可以吗?
比如试一下这个,iOS 12 和以前的系统有点不一样,原来一般是使用 *:1234,要换成 127.0.0.1:1234
debugserver 127.0.0.1:1234 -a "MobileSMS" //附加进程
debugserver -x backboard 127.0.0.1:1234 /Applications/Calculator.app/Calculator //执行进程
回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 前天 19:23 | 显示全部楼层
exchen 发表于 2020-8-2 18:45
重启的问题,可能是和你要调试的进程有关系,有些系统进程不能挂起,换成你自己写一个程序可以吗?
比如试 ...

我这边 *:1234 和 127.0.0.1:1234 都不能 使用任意的 ip 连接进来,使用 0.0.0.0:1234 就可以,所以连接没有问题。
另外我使用了:
  1. debugserver 127.0.0.1:1234 -a "MobileSMS" //附加进程
  2. debugserver -x backboard 127.0.0.1:1234 /Applications/Calculator.app/Calculator //执行进程
复制代码

这两种方式,并且调试了系统的 App ,还有自己写的一个程序(就是《4.1.1 编写一个测试程序》的 Demo),都会引起重启
回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 前天 21:08 | 显示全部楼层
感觉和这个的问题一样,但是没有解决方案:
https://iosgods.com/topic/4599-cannot-hack-with-lldb/#comments

换电脑、重启各种设备,重新签名生成 debugserver,还是没有找到问题在哪儿。依然闪退。
可能该洗洗睡了
回复

使用道具 举报

117

主题

489

帖子

2008

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2008
发表于 前天 22:51 | 显示全部楼层
1. 尝试一下删除 /Library/MobileSubstrate/DynamicLibraries 目录下的所有插件,看一下还会不会有问题?
2. 如果用 Xcode 调试程序会有问题吗?尝试在越狱状态用 Xcode 调试看有没有问题。然后再重启进入未越狱状态看看 Xcode 调试有问题吗?
回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 昨天 09:00 | 显示全部楼层
exchen 发表于 2020-8-2 22:51
1. 尝试一下删除 /Library/MobileSubstrate/DynamicLibraries 目录下的所有插件,看一下还会不会有问题?
2 ...

1 的方法我晚上尝试一下
2 的话,在 Xcode 里面没有问题,越狱和非越狱都能打断点并且正常
谢谢了!
回复

使用道具 举报

1

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 昨天 20:48 | 显示全部楼层
exchen 发表于 2020-8-2 22:51
1. 尝试一下删除 /Library/MobileSubstrate/DynamicLibraries 目录下的所有插件,看一下还会不会有问题?
2 ...

1 的方式试了一下,也不行,还是会重启
2 没有问题,正常调试

Emm……,可能是个例,升个系统什么的吧。
依然谢谢老师了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|iOSHacker

GMT+8, 2020-8-4 10:39 , Processed in 0.024380 second(s), 19 queries .

iOS安全论坛

© 2017-2020 iOS Hacker Inc. 京ICP备17074153号-2

快速回复 返回顶部 返回列表