ios 12或其他较高的系统越狱可以通过爱思助手一键越狱。越狱不成功可以到unc0ver官网下载低版本的unc0ver进行越狱.
cycript的原理是动态库注入,但是其动态库注入的原理,与我们常见的通过LC_LOAD_DYLIB在可执行文件中注入动态库不同. cycript的操作是 : 抓取到要挂载的应用, 由于越狱机上拥有权限,所以直接在挂载的进程上创建一个挂起的线程, 然后在这个线程里申请一片用于加载动态库的内存, 然后恢复线程,动态库就被注入。
在ios 11及更高版本的ios系统中,因为cycript不能直接使用,也没有人维护的原因,许多人不得不使用其他工具代替cycript。
想继续使用cycript,所以经过一段时间,终于找到了cycript如何在ios高版本上安装和使用。
1. 首先mac通过ssh远程登录至iPhone,这个学逆向的都知道,我就不说了。
2. 在root下执行以下命令
没有安装wget和adv-cmds的,先在Cydia中搜索安装下。然后执行下面5条命令:
wget http://apt.saurik.com/cydia/debs/cycript_0.9.594_iphoneos-arm.deb
wget http://www.tateu.net/repo/files/net.tateu.cycriptlistenertweak_1.0.0_iphoneos-arm.deb
wget http://www.tateu.net/repo/files/net.tateu.cyrun_1.0.5_iphoneos-arm.deb
dpkg -i cycript_0.9.594_iphoneos-arm.deb
dpkg -i net.tateu.cycriptlistenertweak_1.0.0_iphoneos-arm.deb net.tateu.cyrun_1.0.5_iphoneos-arm.deb
3. 通过cyrun进入cycript
通过下面终端指令将cycript注入到SpringBoard(桌面应用程序)中:
cyrun -n SpringBoard -e
注释:-n表示SpringBoard为进程名字,-e表示使cycript能注入到SpringBoard进程中
接下来换个进程,注入到网易云音乐中。先在iPhone上打开网易云音乐
1. control 加 D,退出cycript
2. 执行 cyrun -n SpringBoard -d,将cycript从之前的进程中抽离出来,才能将cycript注入另一个进程噢。
如果未将cycript从上一个进程中抽离出来的话,cycript仍然活跃在上一个进程中。
3. 执行cyrun -n neteasemusic -e,将cycript注入到网易云音乐中。
tips: cyrun也是基于cycript的,只不过是另一种启动方式罢了
cycript一些命令
1. 注入app
cycript -p 进程Id/进程名称
2. 获取app当前控制器
cy# @import mjcript // 导入mjcript
cy# MJFrontVc()
3. 获取按钮事件
cy# [#0x17a9cad0 allTargets] // 0x174eb8b0
cy# [#0x17a9cad0 allControlEvents] // 64
cy# [#0x17a9cad0 actionsForTarget:#0x174eb8b0 forControlEvent:64]