去年年底在APP STORE接觸到這款軟件,準(zhǔn)備練一字馬,下載來發(fā)現(xiàn)里面的某些課要花錢啊,于是就把數(shù)據(jù)庫(kù)導(dǎo)出來折騰了一番塞回去,所有課程都免費(fèi)了;跟著練了4個(gè)月,一字馬也沒劈下去,大概瘦了3公斤吧;后來就一直沒練,前不久想練一下,點(diǎn)開軟件要注冊(cè)還要登陸,注冊(cè)后發(fā)現(xiàn)以前明碼標(biāo)價(jià)的課程都改成VIP課程了,又想著去折騰數(shù)據(jù)庫(kù),可是這次失敗了,軟件會(huì)聯(lián)網(wǎng)實(shí)時(shí)獲取課程信息,并把課程信息寫在本地?cái)?shù)據(jù)庫(kù)里以備斷網(wǎng)時(shí)用;目前注冊(cè)用戶采用積分制,開通一季度要2700積分,做一個(gè)任務(wù)大概就是10-50積分的樣子,哪有那個(gè)精力,剛好最近開始研究ios安全,練練手吧.
在這里我還是要推薦下我自己建的iOS開發(fā)學(xué)習(xí)群:680565220,群里都是學(xué)ios開發(fā)的,如果你正在學(xué)習(xí)ios ,小編歡迎你加入,今天分享的這個(gè)案例已經(jīng)上傳到群文件,大家都是軟件開發(fā)黨,不定期分享干貨(只有iOS軟件開發(fā)相關(guān)的),包括我自己整理的一份2018最新的iOS進(jìn)階資料和高級(jí)開發(fā)教程
所需工具:cycript,ida,class-dump,Clutch?
XX瑜伽版本:6.1.7
測(cè)試環(huán)境:ios8.1.2,iPhone 5s
備注:已提前脫殼并導(dǎo)出頭文件
SSH到手機(jī),找到XX瑜伽進(jìn)程,把cycript附加上去

找到<全部課程>導(dǎo)航頁(yè)面,從這個(gè)頁(yè)面入手.

獲取rootViewController

YGTabBarViewController類信息:

YGTabBarViewController是UITabBarController的子類,所以直接用selectedViewController可以獲取當(dāng)前tab頁(yè)視圖.

YGHomeViewController類信息:

sessionsArray很可能就放著全部課程的信息,cycript驗(yàn)證下






接下來就應(yīng)該看看YGSessionInfo的數(shù)據(jù)來自哪里,要從控制器里找原因了,看一下YGSessionInfoViewController的初始化函數(shù)viewDidLoad,此函數(shù)有兩處代碼與加載課程相關(guān)
第一段:







原理弄清楚之后寫代碼就簡(jiǎn)單了,可以hook的地方很多,可以在YGSessionInfo中勾住isBuy,isVip或者勾住NSUserDefaults中的sessionHasPurchased等等.隨便選個(gè)吧.
在中還有另外兩種收費(fèi)項(xiàng)目,<瑜伽計(jì)劃>以及<瑜伽音樂>


