- 环境搭建
- 一、越狱环境
- 1.1 iOS越狱设备的选择
- 1.2 必备小工具
- 二、SSH配置
- 2.1 安装OpenSSH
- 2.2 免密码登录
- 2.3 USB连接设备
- 2.4 修改默认密码
- 2.5 使用scp传输文件
- 一、越狱环境
通过爱思助手查看哪些系统支持越狱,最好选择可刷机可越狱版本,选择支持ARM64架构的设备(iPhone5s及以上),选择iOS9.0及以上版本,因为很多App不能在iOS9之前的版本运行,优先考虑“完美越狱”的设备,因为它们重启后不需要重新越狱。
随着BootROM(checkm8)
漏洞的公开,基于该漏洞的“永久越狱”工具checkra1n
悄然发布,支持iPhone5~iPhoneX之间的任何设备。因为BootROM
漏洞无法修复,所以该工具也能支持iOS12、iOS13以及未来所有版本设备的越狱。在官网可以下载越狱工具,喜欢高版本系统的读者可以考虑。
将手机越狱后,需要安装一些必备的工具来增强可操控性。相信读者学会如何在Cydia
中搜索安装软件之后,下面的操作应该已经非常熟练。
-
Apple File Conduit "2"
Apple File Conduit "2"
又称afc2add
(简称AFC2
).用于激活助手类工具对iOS设备所有路径的访问权限。为了更好的进行iOS逆向研究,请务必安装此插件。 -
adv-cmds
在手机上执行最频繁的应该就是
ps
命令了,它用来查看当前运行进程的PID
以及应用的路径。但这个命令并不是系统自带的。如果尝试在设备执行ps
命令时出现-sh:ps:command not found
的提示则需要先安装adv-cmds
。 -
AppSync Unified
AppSync Unified
是iOS设备越狱后的必备补丁,用来绕过系统对应的签名验证,可以随意安装和运行脱壳后的ipa
。
建议添加插件作者的源(网址为:https://cydia.akemi.ai/
),搜索AppSync Unified
即可安装,该插件支持iOS5~iOS13版本系统。 -
Filza File Manager
Filza File Manager
是手机上的文件管理器(简称Filza
),用来浏览手机文件的权限等,支持iOS7~iOS13系统。 -
NewTerm2
NewTerm2
是一款能运行在手机上的终端工具,可以执行各种命令、下载文件、编辑文件等。NewTerm2
能完美支持iOS7~iOS13系统,添加源http://cydia.hbang.ws/
,搜索NewTerm2
即可安装。
Secure Shell(SSH)
是建立在应用层基础上的安全协议,用于计算机之间的加密登录,可以在不安全的网络中为网络服务器提供安全的传输环境。SSH
最初是UNIX
系统上的程序,后来迅速扩展到其他操作平台。
OpenSSH
的主要用途是方便在Windows
或者MacOS
上远程输入命令操作iOS设备。
-
安装
如果当前的iOS设备系统为iOS11.0~iOS12,越狱工具
Electra
、Chimera
已经内置OpenSSH
,并默认开放22端口,读者可以直接跳过下面OpenSSH
安装部分。
如果当前的越狱设备没有安装OpenSSH
,则需要在Cydia
里面搜索并安装OpenSSH
。 -
测试
依次打开iOS设备的“设置”->"Wifi"页面,再选择已经连接的网络,可以看到设备的
ip
地址,(注意:mac需要和iOS设备连接同一网络)然后在Mac
终端输入:ssh root@xxx.xxx.xx.xx
按
Enter
键,此时提示输入密码(默认为alpine
),输入后顺利登录(注意,这里输入密码是无任何显示的)
每次连接SSH
的时候都提示输入密码,是不是觉得非常麻烦呢?下面介绍一种免密码登录的方法。
-
1、生成密钥对
ssh-keygen -t rsa
-
2、将公钥上传到iOS设备
scp ~/.ssh/id_rsa.pub root@192.168.1.201:/var/root/.ssh/authorized_keys
然后输入密码,既可以完成复制。
现在再次尝试SSH
连接,无须输入密码就能直接登录了。
如果iOS设备上不存在/var/root/.ssh目录,则需要先登录设备创建目录:ssh root@192.168.1.201 cd /var/root/ mkdir .ssh
前面讲的都是用Wifi
方式连接设备,这样有个很大的弊端,即如果网络不畅通,使用起来就会非常不方便,尤其是后面动态调试的时候就会很卡顿。本节所讲的USB
连接方式就可以解决这个问题。
下面的步骤将当前连接的iOS设备的22端口映射到了Mac
的2222端口。
-
1、安装
usbmuxd
brew install usbmuxd
-
2、端口映射
iproxy 2222 22 [设备UDID]
如果有多台iOS设备连接到了同一台
mac
,则需要在最后加上需要映射设备的UDID
参数,反之则省略。 -
3、连接到设备
需要另外开启一个终端用2222端口连接:
ssh -p 2222 root@127.0.0.1
越狱后iOS设备就拥有了最高权限,但是root
用户默认密码('alpine')是总所周知的,如果开启了SSH
而不修改默认密码的话,一旦设备暴露在网络中就很容易被入侵,为了安全考虑,建议立即改掉。
SSH
连接iOS设备后,修改root
用户默认密码的具体方法如下。
passwd
然后按照提示输入新密码,确认新密码即可。
如果是修改mobile
用户的默认密码,则将命令改为passwd mobile
,其他操作不变。若使用手机终端(NewTerm 2
)来进行操作,则需要先输入su
命令提升到root
权限才能修改成功。
在配置好SSH
之后,可以使用scp
工具在iOS设备和mac
之间互相传输文件。mac
系统自带了scp
,对于非iOS10的系统,越狱工具也集成了scp
,对于iOS10的系统,yalu
越狱工具并没有提供scp
工具,所以执行命令时会出现如下错误提示:
sh: scp: commond not found
解决方法:添加源(网址为:https://coolstar.org/publicrepo/),搜索scp
安装即可。
scp
的使用方法很简单,具体如下:
#把mac上的“chinapyg.txt”文件复制到iOS设备的/tmp/目录
scp -p2222 ./chinapyg.txt root@localhost:/tmp/
#把iOS设备tmp目录下的“chinapyg.txt”文件复制到mac
scp -p2222 root@localhost:/tmp/chinapyg.txt ./