目录
环境搭建越狱需要安装
软件/补丁 | 软件源 | 类似 | 说明 | 终端 |
---|---|---|---|---|
Apple File Conduit “2” | http://apt.saurik.com | afc2、afc2add | 可以访问整个iOS设备的文件系统 | 手机 |
AppSync Unified | http://apt.25pp.com | 可以绕过系统验证,随意安装、运行破解的ipa安装包 | 手机 | |
iFile | http://apt.thebigboss.org/repofiles/cydia | Filza File Manager、File Browser | 可以在iPhone上自由访问iOS文件系统 | 手机 |
OpenSSH | http://apt.saurik.com | 可以远程登录到手机 | 手机 | |
Vi iMproved | http://apt.saurik.com | 可以远程vim手机文件 | 手机 | |
Cycript | http://apt.saurik.com | 可以用来探索、修改、调试正在运行的iOS APP | 手机 | |
adv-cmds | http://apt.saurik.com | ps命令可以列出系统当前的进程 :ps –A、ps –A l grep 关键词 | 手机 | |
Reveal Loader | http://apt.so/codermjlee | 调试工具 | 手机 | |
爱思助手 | https://www.i4.cn/?utm_source=baidu_pz&tm_class=biaoti | PP助手 | 手机助手 | Mac |
iFunBox | http://www.i-funbox.com/zh-cn_index.html | 管理文件系统 | Mac | |
usbmuxd | https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz | 将iPhone的22端口映射到Mac本地的自定义端口 | Mac |
准备工作弄好后
1:Mac远程登录到iPhone
1.1:手机端安装OpenSSH
1.2:登录方式
1.2.1:用户名密码登录:
ssh 账户名@手机IP地址:如:$ ssh root@192.168.100.11 默认密码alpine
首次连接会有如下提示:
如果手机IP发生改变会有如下提示
解决方法:
删除掉之前服务器的公钥信息
ssh-keygen -R手机IP地址
或者直接打开known_hosts文件删除手机的公钥信息
open ~/.ssh/known_hosts
1.2.2:SSH的客户端认证登录:
在客户端生成一对相关联的密钥(Key Pair):一个公钥(Public Key),一个私钥(Private Key)
$ssh-keygen
公钥:~/.ssh/id_rsa.pub
私钥:~/.ssh/id_rsa
把生成的公钥内容追加到手机的授权文件(~/.ssh/authorized_keys)尾部
$ssh-copy-id root@服务器主机地址
如果配置了SSH的客户端认证登录后,还是需要输入密码,需要在服务器端设置文件权限
chmod 755 ~
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
1.2.3:通过USB进行SSH登录(此登录操作需要1.2.2为前提):
下载usbmuxd工具包(注意:此工具包基于python2)
下载链接
$cd 工具包路径/usbmuxd-1.0.8/python-client
$python tcprelay.py -t 22:12339(自定义,不能是保留的端口号)
重新打开一个终端
ssh root@localhost -p 12339
2:Cycript的安装与使用
2.1 安装
通过Cydia安装Cycript
常用命令
取消输入:Ctrl + C
退出:Ctrl + D
清屏:Command + R
2.2使用
先安装adv-cmds,ps命令可以列出系统当前的进程
相关命令:
ps –A 列出所有的进程;
ps –A | grep 关键词 (以微信进程为例)
开启 cycript
cycript -p 进程名称/ 进程id
注意:这里推荐使用进程名称,因为进程ID 是有变化的
常用的语法
UIApp
根视图UIApp.keyWindow.rootViewController
定义变量:var 变量名 = 变量值
用内存地址获取对象
ObjectiveC.classes:列出已加载的所有OC类
查看对象的所有成员变量:*对象
递归打印view的所有子控件:view.recursiveDescription().toString()
筛选出某种类型的对象:choose(UIViewController)、choose(UITableViewCell)
后期将持续更新,有喜欢的朋友可以关注下。
共勉~