这个系列,是很早听 MJ 课程时的整理,如今分享出来。 其中一些参考资料有些有引用,有些可能忘记添加了,若是有引用部分资料,能够联系我。python
iOS 逆向(一)环境搭建
iOS 逆向(二)Cycript
iOS 逆向(三)逆向工具
iOS 逆向(四)脱壳
审核中 iOS 逆向(五)Theos工具 iOS 逆向(六)动态调试
iOS 逆向(七)重签名ios
iOS Jailbreak(iOS越狱),利用iOS系统的漏洞,获取iOS系统的最高权限(Root),解开以前的各类限制(合法行为)git
越狱后的iPhone能够正常关机和重启github
iPhone一旦关机后再开机时,屏幕就会一直停留在启动画面,也就是“白苹果”状态,或者能正常开机,但已经安装的破解软件都没法正常使用,须要将设备与PC链接后,使用软件进行引导才能使用。vim
设备 | 系统 | |
---|---|---|
iPhone5s之后,支持64位 | 8.0-8.4 | |
9.0-9.1 | 完美越狱 |
检查手机是否能够越狱:jailbreak.25pp.com/ios安全
越狱以后,为了搭建开发环境,依次进行下面操做。bash
PP助手软件源:apt.25pp.com服务器
!!!建议遵循安装顺序,不然环境配置可能配置不正确。markdown
顺序 | 软件 | 做用 | 软件源 |
---|---|---|---|
1 | Apple File Conduit "2" | 能够访问整个iOS设备的文件系统 |
| Cydia apt.saurik.com | | 2 | AppSync Unified | 能够绕过系统验证,随意安装、运行破解的ipa安装包网络
| PP助手 apt.25pp.com | | 3 | iFile | 在iOS上访问系统文件路径
iFile无法经过Cydia安装:
若是经过Cydia源安装deb失败,则能够经过下面方式安装:
/var/root/Media/Cydia/AutoInstall
;apt.thebigboss.org/repofiles/c… | | 4 | OpenSSH | 远程登陆,Mac电脑登陆iPhone,须要在iPhone上安装OpenSSH | |
SSH,是Secure Shell的缩写,意为“安全外壳协议”,是一种能够为远程登陆提供安全保障的协议。使用SSH,能够把全部传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗。
Mac要能经过SSH远程登陆到iPhone,先必须知足如下条件:
iPhone必须先支持SSH,即遵循上面安装OpenSSH。
SSH是经过TCP协议通讯,因此要确保Mac和iPhone在同一局域网下,好比链接着同一个WiFi。
SSH的通讯过程能够分为3大主要阶段:
使用帐号和密码便可认证
在Mac的终端输入
ssh 帐户名@服务器主机地址(这里的服务器是手机)
好比ssh root@192.168.1.11
初始密码alpine
。
退出登陆命令是exit
iOS下有2个经常使用帐户:root、mobile
/var/root
/var/mobile
登陆mobile用户,则使用:
ssh mobile@服务器主机地址
root和mobile用户的初始登陆密码都是alpine
$ ssh root@192.168.1.11
The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established. RSA key fingerprint is SHA256:/VKCM1drq2VtMPyWihuo40ZHNuGnR7XeASapaaGHEg4. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.11' (RSA) to the list of known hosts. root@192.168.1.11's password:
ho:~ root# exit
logout
Connection to 192.168.1.11 closed.
......
复制代码
最好修改一下root和mobile用户的登陆密码(登陆root帐户后,分别经过passwd、passwd mobile完成)
ho:~ root# passwd
Changing password for root.
New password:
Retype new password:
复制代码
免密码认证,最安全的一种认证方式
SSH-2默认会优先尝试“密钥认证”,若是认证失败,才会尝试“密码认证”。
//-f 强制更新,生成密钥对,私钥存在Mac,公钥将要放在手机
$ ssh-keygen -f ~/.ssh/id_ho_rsa
//将公钥拷贝到手机
$ ssh-copy-id -i ~/.ssh/id_ho_rsa.pub root@192.168.1.11
复制代码
或者
// scp ~/.ssh/id_ho_rsa.pub root@服务器主机地址:路径
$ scp ~/.ssh/id_ho_rsa.pub root@192.168.1.11:~
$ mkdir .ssh
$ cat ~/id_ho_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/id_ho_rsa.pub
复制代码
假如仍是没法访问,则注意修改文件权限:
//登陆到iPhone
ho:~ root# chmod go-w ~
ho:~ root# chmod 700 ~/.ssh
ho:~ root# chmod 600 ~/.ssh/authorized_keys
复制代码
在iPhone做为服务端时,其ssh配置路径为:/etc/ssh/sshd_config
,默认不做修改。
#禁用root帐户登陆,若是是用root用户登陆请开启
PermitRootLogin yes
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担忧使用者将某些重要档案的权限设错,可能会致使一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊状况下会不准用户登入
StrictModes no
# 是否容许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了证书登陆了,就禁用密码登陆。
PasswordAuthentication no
复制代码
经过WiFi传输,一个是不稳定,一个是传输速度慢,因此,咱们能够经过USB进行链接。
手机的USB端口号是22,因此咱们须要将Mac链接到手机,而且经过22端口号进行数据传输。
$ brew install usbmuxd
//将本地主机的10010端口映射到22端口
$ iproxy 10010 22
复制代码
或者经过下面方式:
//下载 https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
//找到对应的tcprelay.py
$ python tcprelay.py -t 22:10010
复制代码
注意新开窗口:
//登陆到iPhone,-p 指定Mac端口
$ ssh root@localhost -p 10010
复制代码
注意当经过USB链接时,scp指定端口须要用-P
指定:
$ scp -P 10010 ~/.ssh/id_rsa.pub root@localhost:~/.ssh/
复制代码
脚本放在这儿。
bfios-usb.sh
echo 'Begin to connecting to iPhone USB port 22'
echo 'After conneted, login in 10010 port by ssh'
iproxy 10010 22
复制代码
bfios-login.sh
echo 'Login iPhone by ssh'
ssh root@localhost -p 10010
复制代码
将以上脚本权限更改成可执行文件,并参考放入到环境变量Path中。
$ chmod +x ios-usb.sh
$ chmod +x ios-login.sh
复制代码
更流畅的操做
链接:
新开窗口,登陆:
Vim是类Unix系统无处不在的一个文本编辑器,iPhone也支持。可是须要作一些额外的配置。
经过Cydia安装。
方向键错误,按方向键显示ABCD
//方向键无效
$ echo "set nocp" >> ~/.vimrc
//若是删除键无效
$ echo "set backspace=2" >> ~/.vimrc
$ source ~/.vimrc
复制代码
iOS终端的中文乱码问题
解决方案:新建一个~/.inputrc文件,文件内容是,注意把注释删除:
不将中文字符转化为转义序列
set convert-meta off
容许向终端输出中文
set output-meta on
容许向终端输入中文
set meta-flag on
set input-meta on
复制代码
2. 在设置里面,找到Veency,设置VNC链接密码; 3. 确保Mac与iPhone在同一个无线网络中; 4. 在Mac电脑上利用VNC客户端,进行链接。
Tips:
VNC客户端推荐:Remotix
Reflector 3 软件相似。
当Cydia安装插件或者系统出错后,重启手机后,手机会一直停留在苹果页面。能够尝试下面方案:
到这里就好了,长按以后,屏幕就会变暗,正常进入系统,并非安全模式,可是全部插件也没有用,而后进入cydia删掉冲突插件,重启手机以后进入系统就正常了!
原理就是手机越狱后,安装cydia的时候通常会自动安上MobileSubstrate这个插件,开机启动的时候,按住音量键的“+”,会进入不加载MobileSubstrate的状态,你能够认为这是一种不加载MobileSubstrate的伪安全状态(Mobile Substrate必需要更新到0.9.3997以上的最新版本哦)。
Cydia里安装的软件大多要依赖这个插件的,不加载MobileSubstrate,就等于停用了大部分的插件,你就能够删掉致使白苹果的软件了。
白苹果的时候
若是还不行,那就刷官方固件吧,越狱就这样没了。