在分析iOS应用时,我们需要将装有iOS应用的设备通过网络或者usb数据线连接到Windows或者mac设备上,从而可以从电脑拷贝数据到iOS设备上,或者从iOS设备中传输数据到电脑中,方便分析操作。接下来,将分别讲通过网络将iOS设备连接到电脑上,及通过usb将iOS设备连接到电脑上。
一、网络连接
将电脑(我以mac电脑为例)及iOS设备连接到同一个wifi信号。
对iOS设备进行越狱,安装cydia后,打开cydia,搜索openssh,并安装(这样在iOS设备中会启动一个ssh服务从而让其他设备进行连接)。如果搜索不到openssh时,可以尝试添加源
http://apt.abcydia.com
http://apt.cydiami.com
打开iOS设备 设置 -> 无线局域网 -> 查看当前连接的wifi信号 -> 点击最右边的小“i” -> 查看IP地址右边显示的IP,并记住,具体如下图所示
在mac电脑中打开终端,通过ssh连接iOS设备,命令如下
ssh root@ios设备ip (这IP即刚才在iOS设备上看到的IP,填写进去,比如 ssh root@192.168.0.100 ,端口默认为22,所以不用填写端口)
ssh root@192.168.0.100
输入上面命令后,按 回车键 后,第一次连接会有如下提示,输入 yes,按 回车键 后,输入iOS设备root用户的密码(默认密码为 alpine),按 回车键 即可连接成功,如下图所示
现在即可在iOS设备上进行命令操作
如果需要将iOS设备中文件拷贝到mac电脑中,或者将mac电脑中文件拷贝到iOS设备中,则打开mac的终端使用scp命令进行操作,具体操作命令如下
scp root@ios设备ip:/xxx/xxx/xxx/1.sh /xxx/xxx/xxx/mac设备路径(这是从iOS设备中拷贝文件到mac电脑中)
scp /xxx/xxx/xxx/1.sh root@ios设备ip:/xxx/xxx/xxx/iOS设备路径(这是从mac电脑中拷贝文件到iOS设备中)
如下图所示
二、usb连接
有时因为wifi连接速度比较慢,我们通过wifi将mac电脑及iOS设备连接后,进行传输数据时,一直断断续续,不能够快速传输完成,所以只能通过usb连接替代网络连接,实现快速传输数据。
通过iOS设备数据线将iOS设备及mac进行连接。
跟网络连接一样,iOS设备需要越狱以及打开cydia安装openssh,具体参考上面步骤。
下载 usbmuxd,下载地址如下所示
https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
usbmuxd能够将USB跟tcp协议进行转换
下载完以后,将usbmuxd-1.0.8拷贝到经常用的工作目录中,方便查找,然后打开usbmuxd-1.0.8.tar,则会在目录中解压出文件夹usbmuxd-1.0.8,如下图所示
通过在终端输入命令进入到usbmuxd-1.0.8目录中,如下所示
cd /User/xxx/work/usbmuxd-1.0.8
进入usbmuxd-1.0.8目录后,通过命令 ls 查找python-client,如下所示
ls
通过命令进入python-client目录中,如下所示
cd python-client
执行python tcprelay.py -t 22:5555,如果出现以下错误,则说明python的版本为3.x版本,tcprelay.py好像是使用python 2.x的方法写的,因此报错。则需要修改tcprelay.py报错的代码为3.x的,或者安装python 2.x。
安装完python 2.x后,重新执行命令python2 tcprelay.py -t 22:5555(将本地端口5555数据转发到iOS设备22端口上),如下所示
通过ssh连接iOS设备,打开一个新的终端,之前那个终端不要关掉,在新的终端输入命令,如下所示
ssh -p5555 root@localhost (使用-p指定端口,IP换成localhost)
最后成功连接iOS设备,同样可以进行命令操作,如下所示
传输文件,同样使用scp命令,不同的地方如下所示
scp -P5555 root@localhost:/xxx/xxx/xxx /xxx/xxx/xxx (同样需要带端口、及IP,命令-P大写),具体操作参考上面网络连接