
前言
从本篇文章开始,笔者会整理iOS逆向相关的笔记。作为一位新人,希望通过整理笔记能够更好的理解和掌握知识。作为新人能力有限,在行文时难免出现错误欢迎批评和指正。
前期准备
- 一台越狱的iOS设备,笔者使用iPad mini2系统iOS9.2.1(推荐使用iOS9.1或者可以完美越狱的系统)
- 一台电脑,笔者使用的是MacBook Pro
- 一条数据线
如何越狱
网上有很多教程帮助你来越狱,这里推荐两个网站:
注意:在购买iOS设备时直接购买对应版本的系统,由于苹果官方关闭降级通道所以无法刷固件降级。
越狱成功后,桌面上会出现一个叫做Cydia
的应用,它是越狱后的App Store
可以安装各种第三方的软件,比如:插件、补丁、APP等。该应用的作者Jay Freeman(saurik)
,一位骨灰级大神。
必装插件或补丁
-
Apple File Conduit 2
:可以访问整个iOS设备的文件系统。作者是Jay Freeman
。 -
AppSync unified
: 可以绕过系统验证,随意安装、运行破解的IPA安装包。 -
PP助手
: 一个应用商店,可以自由安装海量APP。 -
OpenSSH
: 用于远程登录iOS设备。
Mac 必备
-
iFunBox
: 管理文件系统。 -
PP助手
:一个应用商店。 -
iTerm2
: 一款优秀的命令行工具 -
Alfred
: 便捷搜索,自定义工作流,调高效率的工具
配置远程登录
SSH:Secure Shell的缩写,安全外壳协议,是一种可以为远程登录提供安全保障的协议。使用SSH可以把所有传输的数据进行加密,防止中间人攻击、DNS欺骗和IP欺骗。
OpenSSH: 是SSH协议的免费开源实现。通过它让Mac登录iOS设备,在Cycript
中搜索安装。
使用密码登录
如果iOS设备上已经安装了OpenSSH
,此时就可以通过Mac终端登录iOS设备。前提,iOS设备和Mac需要处于相同WiFi环境下。在设置中查看iOS设备的IP地址。打开终端输入:
ssh root@iOS设备IP地址
// 回车,会提示时候建立连接输入yes即可。之后提示输入密码,默认密码是`alpine`。
iOS设备上有两个默认账号:root,mobile。
- root:最高权限账户,$HOME是
/var/root
。或者通过终端输入pwd
查看。 - mobile:普通权限账户,只能操作一些普通文件,$HOME是
/var/mobile
。 -
mobile
登录方式:ssh mobile@服务器地址
。初始密码alpine
。 - 修改root密码:
passwd
,修改mobile
用户密码:passwd mobile
。
公钥登录
上面的密码登录方式比较麻烦,在每次登录时都需要输入密码。SSH提供了公钥登录,以省去密码的步骤。下面来看看公钥登录流程:
将电脑端的SSH公钥保存在iOS设备中,登录时iOS设备端会向电脑端发送一个随机字符串,登录用户通过自己的私钥加密后发送给iOS端,iOS端通过事先存储好的公钥解密,如果解密成功,证明用户是可信的。
查看$HOME/.ssh/
目录,是否有id_rsa
私钥和id_rsa.pub
公钥,如果没有使用ssh-keygen
生成。
上传公钥到远程设备,通过ssh-copy-id
命令。
ssh-copy-id -i $HOME/.ssh/id_rsa.pub root@地址
该条命令的作用是将id_rsa.pub
公钥追加到iOS设备的$HOME/.ssh/authorized_keys
文件中。
cat $HOME/.ssh/authorized_keys //查看文件内容
通过USB登录设备
在WiFi不稳定的情况下,通过WiFi登录会非常的卡顿。可以通过接口转发的方法,使用USB SSH登录,保证连接的稳定性。
方法很简单,首先安装libimobiledevice
,然后使用里面提供iproxy
把本地端口(例如:2222)映射到设备的TCP端口22,就可以通过本地的2222端口建立连接了。
brew install libimobiledevice
iproxy 2222 22
ssh root@localhost -p 2222
如果,每次输入iproxy 2222 22
进行接口转换比较麻烦,可以将其配置到电脑的开机启动项中。创建~/Library/LaunchAgents/com.usbmux.iproxy.plist
,填入一下:

运行命令launchctl load ~/Library/LaunchAgents/com.usbmux.iproxy.plist
使之生效。
每次输入ssh root@localhost -p 2222
也很麻烦,可以通过指定一个名称进行SSH连接,打开$HOME/.ssh/config
文件,没有创建一个,写入一下内容。
Host ipad
Hostname localhost
User root
Port 2222
通过以上配置,在终端输入ssh ipad
即可登录iOS设备了。
小结
本文学习搭建逆向环境,安装一些必备的软件。后续会继续学习如何使用这些软件。
网友评论