新手IOS tweak越獄app開發記錄

     須要改變原先程序功能流程的話,是要用到Logos Tweak 開發。另外,.在蘋果商城下載到的app,不能直接拿來分析。須要先作必定的前期準備。網上有不少相關的寫第一個越獄插件的文章,這裏就不在贅言了。僅僅記錄一些注意事項。留待往後本身若是忘記了,就回過頭來看看。ios

通常分爲如下的步驟.xcode

    1.準備已經越獄的iphone或ipad.系統不要最新,ios 6,7,8比較適宜。緩存

    2.Xcode要事先配置好越獄開發的環境,好比如下程序要先下載並安裝好:app

         1>theos<MACOS> 這個是在xcode沒有安裝iosOpenDev的環境下,手工開發tweak程序,須要用到的。若是已經安裝並配置好了iosOpenDev環境,這一步能夠直接無視。ssh

         2>Clutch<IOS> 這個是用來「一鍵」破解應用在提交蘋果商城以後,蘋果官方加的密.該軟件至關傻瓜化。若是找不到,須要添加源:apt.so/brian0817iphone

         3>Class-Dump<MACOS> 這個程序的功能是比ida的F5有過之無不及。,<ios下在Cydia裏搜索'class-dump'安裝,Mac下能夠百度找到下載>代碼基本接近原生的源碼。ui

         4>SSH<MACOS> ,這個主要用於鏈接ios系統,<ios下在Cydia裏搜索'SSH Connect'安裝,Mac下直接在apple store搜索 ssh安裝>以完整權限的方式實現代理操做.好比查看ios系統裏當前的運行日誌,以及一些須要在ios系統的機器下才能完成的操做。spa

         5>ondeviceconsole<IOS> ,這個程序顧名思義,<在Cydia裏搜索安裝>.就是用來在mac上顯示ios系統運行的日誌的。固然要在SSH登陸以後,才能使用此命令.而且特別要注意是小寫。插件

         6>dpkg<MACOS> .這個是安裝咱們寫好的越獄app用的.命令行

 可能遇到的一些問題:

    1.ssh鏈接不上.這個須要覈對ios系統所在的IP,以及ssh的密碼不要去頻繁改動.

    2.clutch的版本要在1.4.7及以上,要將下載好的程序放在 /usr/bin/下,並且若是在ios系統上的Mobiletermial上修改好權限爲777,也能夠在mac下的ssh裏敲入:

   chmod 777 clutch  。注意命令clutch對大小寫敏感.這裏不能錯,不然會提示沒有此命令。命令:Clutch -- daib 表明破解所有應用 Clutch QQ表示只破解名稱爲QQ的app。

    3.在xcode裏,安裝寫好的插件,要用"Product/Build For/Profiling"進行安裝.並且選項卡「Build Settings」裏,要配置好如下幾個選項:

          1>iosOpenDevDevice :192.168.1.101  這裏填你的ios設備的IP地址。通常是wifi下的局域網ip

          2>iosOpenDevInstallOnProfiling:YES 這就是爲何咱們要在Profiling下生成並安裝的緣由,固然你也能夠選擇 OnAnyBuild,在任何編譯生成動做以後開始安裝.

          3>iosOpenDevUsePackageVersionPList:YES .這個好像是便於版本控制.具體我也不太清楚用途。本身百度之.

    4.在"Build Phases"選項卡里,Link Binary With Libaries這裏除了要添加代碼中用到的引用項以外,還要引用 libsubstrate.dylib。由於默認是沒有這個引用的,也就沒法找到hook的核心連接庫在哪了。

    5.在安裝的過程當中,若是以前安裝成功過一次,改動一些代碼以後,再去安裝。會提示 "status database area is locked by another process 「的錯誤.其實是因爲生成的緩存或者是插件還在運行當中,佔用的進程,致使程序沒法被替換。這個時候,要先"Clean",或者在ios設備上退出與插件引用相關的進程。

 

________________________________

後記:

1.SSH鏈接的時候,命令是:ssh root@192.168.xx.xx,這個IP地址必須是同一局域網內的ios設備上的,不能錯。

2.Clutch是運行在ios上基於cydia的app,可能的路徑是 /var/mobile/,因爲在ssh上敲入的clutch,結果一直提示未知的命令。其實是由於這些app運行起來大小敏感。必須輸入Clutch。

更多關於Clutch的操做能夠參考:http://www.lookgame.com/jiaocheng/shouyou/469/

3.class-dump 的使用。路徑問題切記,新破解的ipa須要先解壓出來,而後用解壓出來的可執行文件去嘗試。不能直接將.ipa拿去反編譯。

class-dump -H /Users/wuxiping/Desktop/Dessembly/QQ-v6.5.8.437-no-name-cracker/Payload/QQ.app -o /Users/wuxiping/Desktop/Dessembly/Pojie/

 若是以上仍是提示錯誤的話,能夠嘗試下面的命令行

class-dump -H /Users/wuxiping/Desktop/Dessembly/QQMusic -o /Users/wuxiping/Desktop/Dessembly/Pojie
相關文章
相關標籤/搜索