国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOS運行時工具-cycript

2019-11-14 20:33:43
字體:
來源:轉載
供稿:網友
    cycript是大神saurik開發的一個非常強大的工具,可以讓開發者在命令行下和應用交互,在運行時查看和修改應用。它確實可以幫助你破解一些應用,但我覺得這個工具主要還是用來學習其他應用的設計(主要是UI的設計及實現)。

      這個工具使用了Objective-C和javascript的混合模式,可以實時的和應用交互甚至修改應用。它的網址請猛戳這里。在官網上可以下載到完整的軟件包。使用的方式有兩種,一種是在越獄的設備上通過MobileSubstrate加裝,這樣可以在所有的應用里使用;另一種是通過靜態庫的方式把cycript集成到自己的應用,這樣做不要求越獄,當然也只能在自己的應用內使用了。

      在越獄模式下cycript的安裝:

      1. 在cydia下安裝openSSH,這樣可以確保能用SSH登錄到iOS設備上,如果你已經安裝過了,可以不用繼續安裝了

      2. 用sftp上傳下載的cycript_0.9.501_iphoneos-arm.deb和libffi_1-3.0.10-5_iphoneos-arm.deb安裝包到iOS設備上

      

      3. 用dpkg -i來安裝deb包

      

      4. 運行cycript,如果出現cy#的符號,那么就是安裝完成了

      

      安裝之后自然是使用,這個使用方法網上講得比較詳細了,很多拿的還是支付寶的例子,所以在這里順便提醒一下小伙伴們,現在設備集成了越來越多的應用,重要性和不可替代性都是越來越高,所以設備最好還是不要越獄,安全第一嘛。

      cycript的用法上主要是注入你關注的那個應用的線程,然后就可以獲得app,獲得window,慢慢去獲得viewController,逐步逐步撥開UI的面紗,這個在學習經典應用的UI時真的是無上的利器!

      下圖是我在跟蹤微信的UI時的樣子,大致上方向就是這樣逐步深入。

      


      上面的例子是在越獄的機器上安裝cycript,然后可以在任意的應用中使用。

      還有一種用法是在開發過程中,把cycript的framework集成在應用中,這樣可以用于實時調整UI的參數,而且不要求機器越獄。下面給出一個最最簡單的例子:

      1. 從官網下載cycript的包,是一個壓縮文件,里面包括三個cycript.framework,cycript.lib和cycript

      2. xcode里面新建一個target,僅僅用最簡單的singleViewapplication創建一個空白的應用,這時界面應該是一片純潔

      3. 添加cycript框架以及依賴,添加cycript.framework框架是應有之義,但這個框架還需要依賴庫的支持,包括JavascriptCore和libstdc++;這里需要注意的是libstdc++是有版本要求的,必須是libstdc++.6.0.9.dylib,如下圖所示

      

      4. 設置編譯選項

          為了解決libstdc++的兼容問題,還需要在BuildSetting頁設置"Other Linker Flags",添加-lstdc++;另外還有“C++ Standard Library”,確保選擇了“Compiler Default”。如果沒有選擇特定的libstdc++版本并且正確配置編譯器選項的花,在iOS7下鏈接會失敗的,這一點請務必注意。

      5. 修改代碼,打開cycript監聽端口

          這個最好用一個宏來包一下,比如用:CYCRIPT_ENABLE

#ifdef CYCRIPT_ENABLE      CYListenServer(8888);  #endif  

 %20 %20 %20 %20 %20這里的8888就是cycript的監聽端口,為了讓這句代碼起作用,請把CYCRIPT_ENABLE在加入到預設宏里面。

 %20 %20 %206.%20運行模擬器,這里還有一個要說明,目前只支持64bit的,不能使用32bit的模擬器,這個也需要配置一下,然后選擇正確的模擬器運行,應用就可以跑起來了,仍然是一片純潔的UI

 %20 %20 %207.%20進入cmd界面,切換路徑到cycript包的解壓目錄下,運行./cycript%20-r%20127.0.0.1:8888

 %20 %20 %20 %20 %20其中,127.0.0.1是你的模擬器或者設備地址,8888就是你代碼里面配置的監聽接口,如果正常,會進入cycript的REPL,這時就可以現場修改一些UI了,比如把白色背景改成紅色:

 %20 %20  

      此時的UI應該就變成了紅色背景。

      

      

      cycript的使用基本方法就是這樣了,剩下的就是如何使用的問題了,這個一方面需要對iOS的框架有足夠的了解,另一方面也需要積累經驗。




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴国县| 武宣县| 阿拉尔市| 丹阳市| 来安县| 铁岭县| 中西区| 沙河市| 增城市| 黄大仙区| 尉犁县| 成武县| 福贡县| 岳普湖县| 丹巴县| 邻水| 郸城县| 泗水县| 城固县| 西林县| 永和县| 宁乡县| 三江| 云浮市| 乌鲁木齐县| 登封市| 龙山县| 库车县| 湖州市| 岗巴县| 望奎县| 连云港市| 大新县| 白山市| 鹿泉市| 陇西县| 宣城市| 宝兴县| 昭平县| 平邑县| 永顺县|