iOS逆向开发之越狱动态调试

NekoNekoNiko120 发布于 2025-01-24 12 次阅读


前言

本来想着玩Arcaea,然后想玩私服,最后就......

欸我怎么玩着玩着学上逆向了(

总之有Arcaea的问题欢迎通过下面的邮箱联系我

[email protected]

如果有其他问题可以通过这个邮箱联系我

[email protected]

本教程基于iPad10-iOS16.2+MacBookPro M3Max-macOS 15.2

安装

TrollStore

详见这里

越狱

新版iOS越狱基本只有这一个选择了,就是Troll+Dopamine

下载这个

如果没办法访问GitHub也可以找我要

但是都学越狱了应该上GitHub没问题了吧

打开Dopamine,点开始越狱,然后设置个密码(这个密码很重要)等着就好

调试的准备工作

等待重启用户空间后,打开selio-搜索-输入openssh,安装openssh-server

使用数据线连接Mac和iPad,在Mac输入

iproxy 22 22

iproxy 1234 1234

这一步是为了将iPad的端口映射到Mac

然后ssh连接

ssh mobile@localhost

然后输入yes,输入你之前设置的密码,连接成功

从selio下载debugserver,然后把它扔到Mac的家目录上:/Developer/usr/bin/debugserver

在Mac上:

brew install ldid

ldid -e debugserver > debugserver.entitlements

这会在你的家目录下生成debugserver.entitlements文件,用完可以删掉

更改debugserver.entitlements文件,将权限替换为如下内容

<?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>
重新授权debugserver
ldid -Sdebugserver.entitlements debugserver
注意-S后面没有空格!
把debugserver挪到iPad的ssh默认目录上,方便以后启动
启动
chmod +x debugserver
ps -e | grep [你要调试的进程名]
./debugserver localhost:1234 -a [刚才看到的进程ID]
这将把debugserver的权限设置为可执行,然后启动它

开始调试

lldb(我也不太会)

在Mac上输入lldb,直接启动(Mac自带,但是需要安装Xcode command linetools)输入

process connect connect://localhost:1234

然后就可以开始调试了

IDA Pro

打开IDA Pro,选择你要调试的应用的主程序(脱壳ipa)

主程序的样子是这样的:

然后等IDA完成工作,点finder栏上的debugger

debugger的ip输入localhost,端口1234

然后就可以开始调试了

最后

我只是想玩个Arcaea啊