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

准备工作

在进行越狱开发之前,我们首先需要一款越狱设备,在iOS9以下可以完美越狱,iOS9以上不完美越狱,具体越狱方式可以下载爱思助手进行一键越狱。
完美越狱:越狱之后之哟啊哦不升级系统就一直是越狱状态
非完美越狱:每次重启手机都要重新越狱

必备插件

15276941463691.jpg

安装openSSH插件


15276941121668.jpg

通过openSSH连接(登录)手机

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

连接成功如图


退出

$exit

iOS 下有两个用户

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

修改ssh登录密码

$passwd 输入两次新密码

删除SSH服务器对应的公钥

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

SSH

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

openSSH

openSSH其中一种软件.

SSH通讯过程


15276941954914.jpg

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

预防中间人攻击最有效的方法就是验证 公钥是不是服务器的!!
如果是公开的SSH服务器,一般会将公钥的哈希值 公布在网站上!!

SSH使用公钥登录

除了使用密码登录,也可以免密码登录!
所谓的"公钥登录",原理:
1.Mac电脑将自己的公钥发给远程的手机
2.手机随机的生成一段字符串,发给Mac电脑.
3.Mac利用私钥加密字符串!
4.手机利用公钥解密字符串!
如果还要输入密码的话,设置文件的权限! chmod 755

  • 1、生成SSH key
$ssh-keygen -t rsa -C "邮箱"
  • 2、进入~/.ssh目录, 拷贝ssh key到手机,即可免密登录
$ssh-copy-id root@手机IP

USB连接

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

$ssh -p 22 [email protected]

usbmuxd 在iOS和Mac上都是自带的,用来做映射
使用工具
执行脚本

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

连接手机

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

切换手机之后报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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中的上一次连接保存的

查看手机所有进程

ps -A

文件拷贝

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

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

应用瘦身

单独导出arm64 的macho文件

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

你可能感兴趣的:(iOS逆向开发--越狱设备连接调试)