昨天在逛簡書的時(shí)候掰担,無意間看到一款還算好用的MacOS App,
Manico
垦垂,在Mac App Store上可以免費(fèi)下載宦搬。也可以免費(fèi)使用。就是用幾次就會(huì)彈出一個(gè)感謝試用劫拗,要繼續(xù)使用的話间校,就要內(nèi)購,否則這個(gè)框就會(huì)經(jīng)常談出來页慷。
App Store憔足,下載下來胁附,后面是需要內(nèi)購的
使用幾次之后就會(huì)彈出內(nèi)購彈框
好了進(jìn)入今天的正題,最近手頭比較緊張滓彰,舍不得花錢(¥25)
我們的目標(biāo)是不花錢把這個(gè)框給去掉控妻,正常使用。
前段時(shí)間剛學(xué)習(xí)了一下逆向揭绑,今天來嘗試一下弓候,我本來以為這個(gè)跟iOS App一樣,如果更改了
.app
包里面的文件之后他匪,App會(huì)運(yùn)行不了菇存,要進(jìn)行重簽名的,后面發(fā)現(xiàn)不用重簽名邦蜜,修改了二進(jìn)制文件之后依鸥,重新替換一下就行了,恩悼沈,比較簡單毕籽。
我原本的思路:
- 打開包,獲取可執(zhí)行文件(Mac-o)
- class-dump井辆,獲取可執(zhí)行文件的頭文件
- 找到上面試用彈框的h文件
- hook一下彈出這個(gè)Dialog的方法
- 得到新的可執(zhí)行文件关筒,放回原來的位置
- 把整個(gè)
.app
重簽名一下,運(yùn)行(后面發(fā)現(xiàn)根本不需要這一步)
按照這個(gè)這個(gè)步驟執(zhí)行下去杯缺,發(fā)現(xiàn)到第二步的時(shí)候就失敗了 %>_<%蒸播。因?yàn)檫@個(gè)app里面有的或者都是用Swift寫的,class-dump失敗了萍肆,后面再查看匯編的時(shí)候袍榆,發(fā)現(xiàn)確實(shí)有Swift文件
好吧,進(jìn)行到這里感覺干不下去了塘揣。包雀。。亲铡。才写。準(zhǔn)備放棄了
后面抱著學(xué)習(xí)的態(tài)度,想著去看看他的匯編代碼也不錯(cuò)奖蔓,就在網(wǎng)上下載了一個(gè)軟件 ??
第一步:
直接就把剛才從.app
中拷貝出來的Mac-o文件拖到這個(gè)app里面欣賞欣賞赞草。
在左邊發(fā)現(xiàn),可以看到類名吆鹤,方法名
第二步:
然后就突然的靈光一現(xiàn)厨疙,既然是要我內(nèi)購(IAP),那肯定是有內(nèi)購的相關(guān)方法的疑务,恩沾凄,內(nèi)購單詞咋寫來著梗醇。。撒蟀。pur婴削? purchase。牙肝。
然后就是一頓搜索
然后就是觀察一些方法了,會(huì)發(fā)現(xiàn)有一個(gè)叫
doShowPurchaseDialog
的方法嗤朴,差不多應(yīng)該就是每次彈出上面的那個(gè)試用的彈框的方法了配椭。第三步:
修改這個(gè)方法的執(zhí)行,我們要的是不彈出這個(gè)框雹姊,所以直接把這個(gè)方法的執(zhí)行改成return
就行了股缸。
選擇Modify-->Assemble Instruction,在里面輸入ret
(return
的匯編代碼)
第四步:
把修改了的Mac-o文件保存為新的可執(zhí)行的文件
選擇File-->Product New executable... -->導(dǎo)出
第五步:
把新導(dǎo)出的可執(zhí)行文件替換回原來的位置(Content->MacOS
)吱雏,運(yùn)行App敦姻,這個(gè)試用彈框就不會(huì)在出來了??????(節(jié)省25大洋)
還有另外一種方法,可以參考這篇文章
慢慢來歧杏,一步一個(gè)巴掌印~~~