? ? ? 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]