LLL_111 发表于 2019-9-19 17:23:00

iOS逆向开发--越狱设备连接调试

## 准备工作

在进行越狱开发之前,我们首先需要一款越狱设备,在iOS9以下可以完美越狱,iOS9以上不完美越狱,具体越狱方式可以下载爱思助手进行一键越狱。

完美越狱:越狱之后之哟啊哦不升级系统就一直是越狱状态

非完美越狱:每次重启手机都要重新越狱

## 必备插件



安装openSSH插件



## 通过openSSH连接(登录)手机

```bash
$ssh 用户名@用户服务器地址
此时要输入密码,默认的密码是 alpine ,可以在OpenSSH -> Root Password How-To 里面看到
```

连接成功如图



## 退出

```bash
$exit
```

### iOS 下有两个用户

- root 最高权限的用户 所在目录$HOME:/var/root
- mobile 普通用户 所在目录$HOME: /var/mobile
可以用iFunBox查看目录

## 修改ssh登录密码

```bash
$passwd 输入两次新密码
```

删除SSH服务器对应的公钥

```bash
$ssh-keygen -R 服务器IP地址
```

## SSH

SSH是一种网络协议.用于计算机之间的加密登录!

## openSSH

openSSH其中一种软件.

SSH通讯过程



## 中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)

预防中间人攻击最有效的方法就是验证 公钥是不是服务器的!!

如果是公开的SSH服务器,一般会将公钥的哈希值 公布在网站上!!

## SSH使用公钥登录

除了使用密码登录,也可以免密码登录!

所谓的"公钥登录",原理:

1.Mac电脑将自己的公钥发给远程的手机

2.手机随机的生成一段字符串,发给Mac电脑.

3.Mac利用私钥加密字符串!

4.手机利用公钥解密字符串!

如果还要输入密码的话,设置文件的权限! chmod 755

- 1、生成SSH key

```bash
$ssh-keygen -t rsa -C "邮箱"
```

- 2、进入~/.ssh目录, 拷贝ssh key到手机,即可免密登录

```objectivec
$ssh-copy-id root@手机IP
```

## USB连接

SSH的默认的端口是22,所以还可以用如下方式访问手机

```ruby
$ssh -p 22 root@192.168.0.100
```

usbmuxd 在iOS和Mac上都是自带的,用来做映射

使用[工具](https://pan.baidu.com/s/1QU6o3peehAOn_kbHayYN5Q)

执行脚本

```css
python tcprelay.py -t 22:12345   将本机的12345端口映射到手机的22号端口
```

连接手机

```css
ssh -p 12345 root@电脑IP
或者ssh root@localhost -p 2222
```

切换手机之后报错

```csharp
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!   @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:Uvx4S9p5QbJXwuW/T7CZD0BE2tQr1xDHVhOf/253i00.
Please contact your system administrator.
Add correct host key in /Users/heaven/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/heaven/.ssh/known_hosts:11
RSA host key for 192.168.2.7 has changed and you have requested strict checking.
Host key verification failed.
```

解决办法 删除 known_hosts中的上一次连接保存的

查看手机所有进程

```undefined
ps -A
```

## 文件拷贝

将文件拷贝到手机root根目录(Wifi)

```ruby
$scp 文件名 root@手机IP地址:~/
(scp -P 2222 dumpdecrypted.dylib root@localhost:~/)
拷贝文件夹
(scp -r -P 2222 文件夹名字/ root@localhost:~/)
```

## 应用瘦身

单独导出arm64 的macho文件

```bash
$lipo 应用名字 -thin arm64 -output arm64_name
```







页: [1]
查看完整版本: iOS逆向开发--越狱设备连接调试