? ? ? ios 12或其他較高的系統(tǒng)越獄可以通過愛思助手一鍵越獄。越獄不成功可以到unc0ver官網下載低版本的unc0ver進行越獄.
cycript的原理是動態(tài)庫注入,但是其動態(tài)庫注入的原理,與我們常見的通過LC_LOAD_DYLIB在可執(zhí)行文件中注入動態(tài)庫不同. cycript的操作是 : 抓取到要掛載的應用, 由于越獄機上擁有權限,所以直接在掛載的進程上創(chuàng)建一個掛起的線程, 然后在這個線程里申請一片用于加載動態(tài)庫的內存, 然后恢復線程,動態(tài)庫就被注入。
? ? ?在ios 11及更高版本的ios系統(tǒng)中,因為cycript不能直接使用,也沒有人維護的原因,許多人不得不使用其他工具代替cycript。
? ? 想繼續(xù)使用cycript,所以經過一段時間,終于找到了cycript如何在ios高版本上安裝和使用。
?1. 首先mac通過ssh遠程登錄至iPhone,這個學逆向的都知道,我就不說了。
2. 在root下執(zhí)行以下命令
? ? 沒有安裝wget和adv-cmds的,先在Cydia中搜索安裝下。然后執(zhí)行下面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. 執(zhí)行?cyrun -n SpringBoard -d,將cycript從之前的進程中抽離出來,才能將cycript注入另一個進程噢。
? ? ? ? 如果未將cycript從上一個進程中抽離出來的話,cycript仍然活躍在上一個進程中。

? ?3. 執(zhí)行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]