iOS微信搶紅包Tweak安裝教程

最近在學(xué)習(xí) iOS 逆向開發(fā)的時候,為了練手,開發(fā)了一個 iOS 版的微信搶紅包 tweak,并且已經(jīng)發(fā)布到了 Github 上面。

微信搶紅包 Tweak 的 Github 地址

但是,很多小伙伴表示不會安裝,特此寫了這篇iOS tweak 安裝教程。

說明:本篇文章只是為了說明如何在 iOS 當(dāng)中安裝 tweak,并不會涉及完整的逆向環(huán)境的搭建,也不會涉及到 tweak 的開發(fā)。如果對這方面有興趣的童鞋可以參考iOS應(yīng)用逆向工程這本書。

何謂 tweak

tweak 在維基百科上的定義是:對復(fù)雜的系統(tǒng)——通常是電子設(shè)備——進(jìn)行微調(diào)或修改來增強(qiáng)其功能。

而在 iOS 當(dāng)中,tweak 是指那些能夠增強(qiáng)其它進(jìn)程功能的 dylib。

可以將 tweak 理解為就是一個外掛,只不過這個外掛是以動態(tài)鏈接庫的方式注入到目標(biāo)應(yīng)用當(dāng)中。我們已經(jīng)很了解外掛就是用來作一些原本的應(yīng)用無法做到的事情,當(dāng)然搶紅包也屬于這樣的事。

如何安裝 tweak

上面已經(jīng)講過,本篇文章不會涉及到 tweak 的開發(fā),因此我們直接進(jìn)入安裝的主題。

對設(shè)備進(jìn)行越獄

對設(shè)備進(jìn)行越獄是安裝 tweak 的首要前提,如果沒有越獄設(shè)備,并且你不想對自己的設(shè)備進(jìn)行越獄,那么也可以不用繼續(xù)往下看了。

眾所周知,蘋果的權(quán)限管理是很嚴(yán)格的,在沒有越獄的情況下,我們能對設(shè)備進(jìn)行的操控其實是很有限的。而越獄之后我們就可以獲得root權(quán)限,即最高權(quán)限。

現(xiàn)在國內(nèi)最知名的越獄團(tuán)隊就是盤古太極了,他們都提供了 windows 版與 mac 版的越獄軟件,可以進(jìn)行一鍵越獄。

需要注意的是,這兩家目前支持越獄的最新版本是 9.0.2。因此,如果你的設(shè)備已經(jīng)更新到 9.2 了,你可能需要重新找一臺比較低版本的設(shè)備。使用工具進(jìn)行越獄其實很簡單,在此也就不贅述了。

CydiaSubstrate

越獄完的設(shè)備上面都會多出一個 App,即 Cydia。

Cydia 可以理解為越獄界的 App Store。只不過 App Store 上面的都是經(jīng)過蘋果審核過的應(yīng)用。而 Cydia 上面的各式各樣的 App,tweak都或多或少使用到蘋果在 App Store 審核中禁用的功能特性,比如私有方法。

CydiaSubstrate 是 Cydia 的作者的另一個作品,它的主要功能就是對 App 進(jìn)行 hook,替換 App 中代碼的實現(xiàn),它是絕大部分 tweak 正常工作的基礎(chǔ),Cydia 上的 tweak 都是基于 CydiaSubstrate 的。

一般情況下,越獄完之后就已經(jīng)安裝了 CydiaSubstrate 了,如果你想看到軟件包的詳細(xì)信息,可以直接在 Cydia 當(dāng)中搜索 Cydia Substrate。

安裝 OpenSSH

OpenSSH 會在 iOS 上安裝 SSH 服務(wù),以供外界可以遠(yuǎn)程登錄到 iOS 系統(tǒng)當(dāng)中。

安裝 OpenSSH 也很簡單,同樣在 Cydia 當(dāng)中搜索 OpenSSH,然后進(jìn)行安裝就行了。

iOS 上的 OpenSSH 的默認(rèn)用戶有 root 和 mobile,默認(rèn)密碼都為 alpine。在這里強(qiáng)烈建議大家對默認(rèn)密碼進(jìn)行修改,如果沒有修改,很多病毒就可以輕易地通過 ssh 以 root 身份遠(yuǎn)程登錄到 iOS 當(dāng)中,這后果可是非常嚴(yán)重的。

修改密碼的步驟:

  1. 確保你的電腦跟你的 iOS 設(shè)備在同一個局域網(wǎng)當(dāng)中
  2. 獲取 iOS 設(shè)備的 IP:設(shè)備 -> 無線局域網(wǎng) -> 查看當(dāng)前連接的 WIFI 的詳細(xì)信息,就可以看到設(shè)備的 IP
  3. 在 Mac 上打開終端,執(zhí)行命令 ssh root@DeveiceIP,將 DeveiceIP 替換成你的設(shè)備 IP
  4. 輸入密碼進(jìn)行登錄,注意密碼是不會回顯的,也就是不會顯示普通的密碼星號,只要繼續(xù)輸入就行了,輸入完后按回車
  5. 登錄后,修改root用戶密碼,執(zhí)行命令passwd root,根據(jù)提示輸入新密碼
  6. 再修改mobile用戶密碼,執(zhí)行passwd mobile,根據(jù)提示輸入新密碼

至此,iOS 設(shè)備上的環(huán)境就配置好了。

安裝 Theos

Theos 是一個越獄開發(fā)工具包,它可以生成 iOS 越獄APP以及tweak等程序的框架,并提供makefile來編譯、打包和安裝。

安裝 Xcode 和 Command Line Tools

會來看這篇教程的,我默認(rèn)大家都是 iOS 開發(fā)者了,所以應(yīng)該都已經(jīng)安裝了Xcode了,Xcode 就已經(jīng)附帶了 Command Line Tools。

從 Github 下載 Theos

打開命令行,進(jìn)行如下操作:

export THEOS=/opt/theos
git clone https://github.com/DHowett/theos.git $THEOS

配置ldid

ldid是用于對 iOS 可執(zhí)行文具進(jìn)行簽名的工具,可以在越獄 iOS 中替換 Xcode 自帶的簽名工具。從 http://joedj.net/ldid 下載,將其移動到 /opt/theos/bin 目錄下,然后設(shè)置可執(zhí)行權(quán)限。

cd <下載ldid的目錄>
sudo mv ldid /opt/theos/binsudo 
chmod 777 /opt/theos/bin/ldid

配置CydiaSubstrate

運行 Theos 自動化配置腳本:

sudo /opt/theos/bin/bootstrap.sh substrate

在這里會出現(xiàn)一個問題,提示說無法自動生成一個有效的 libsubstrate.dylib 文件,我們需要進(jìn)行手動操作。我們要做的就是從 iOS 上已經(jīng)安裝的 Cydia Substrate上復(fù)制這個文件下來。

要想在 Mac 上訪問 iOS 設(shè)備的文件目錄,新手可以直接使用 iFunBox,或者如果你覺得不屑使用圖形化工具,也可以直接使用 scp 命令來進(jìn)行拷貝。

需要拷貝的文件位于 iOS 上的 "/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate",將其拷貝到 OSX 上,然后重命名為 libsubstrate.dylib 后放到 "/opt/theos/libsubstrate.dylib" 中,將無效的文件替換掉就可以了。

配置 dpkg-deb

deb 是越獄開發(fā)安裝包的標(biāo)準(zhǔn)格式,而 dpkg-deb 是操作 deb 文件的工具,有了這個工具,Theos 才能將工程正確地打包成 deb 包。

https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl下載dm.pl,將其重命名為 dpkg-deb 后,放到 "/opt/theos/bin/" 目錄下,然后設(shè)置它的可執(zhí)行權(quán)限:

sudo chmod 777 /opt/theos/bin/dpkg-deb

其實,Theos 已經(jīng)是一個 tweak 的開發(fā)環(huán)境了,但是由于這里只是因為需要編譯 tweak 而用到它,所以它的很多后續(xù)配置也沒有詳細(xì)講解了。

至此,我們的安裝環(huán)境就搭建完了,下一步可以正式地開始安裝 tweak 了。

正式安裝 tweak

根據(jù)上面的內(nèi)容,我們大概知道了,如果要安裝一個別人的 tweak,最簡單的方法就是直接到 Cydia 上面進(jìn)行下載并自動安裝,但是前提就是你想要安裝的這個 tweak 的作者已經(jīng)將這個 tweak 提交到 cydia 源當(dāng)中了。

那你可能會問,那我為什么不直接提交到 Cydia 呢,多方便,多簡單,反而還要繞這么一大圈,然后特地又寫一篇博客來說明怎么從源碼進(jìn)行安裝,是不是太久沒裝逼憋壞了?我的回答是:因為我還不會提交,哈哈哈。當(dāng)然那只是其中一部分原因,主要還是因為我做這個插件原來也是出于練手學(xué)習(xí)的目的,后來有很多小伙伴都跟我要,我才放到 Github 上的。而且,這種作弊式的插件有點破壞游戲平衡了,原本搶紅包也都是圖個歡樂,如果作弊了就破壞了這種氣氛(道貌岸然狀)。

所以,經(jīng)過我“苦口婆心”的勸說,你還是想安裝的話,就到我的Github去下載吧(如果覺得好用,就點個星鼓勵一下吧)。

將倉庫拉取下來后,可以看到主目錄里有一個 Tweak.xm 文件,主要的代碼就寫在這個文件中,其實里面的代碼也就幾行,做 tweak 的主要精力還是花在找你的目標(biāo)方法上,真正寫代碼其實不會太多。當(dāng)然,你如果只是單純想安裝的話,這個文件就跟你無關(guān)了。

主要修改的是Makefile文件,使用編輯器打開Makefile文件,可以看到頭兩行是這樣的:

THEOS_DEVICE_IP = localhost
THEOS_DEVICE_PORT = 2222

localhost 替換成你的 iOS 設(shè)備的 IP,IP的獲取方法在上面已經(jīng)提過了。然后將端口 2222 替換成 22

修改并保存后就可以進(jìn)行安裝了。

在 Mac 下打開終端命令行,并切換到這個倉庫的目錄,首先確保你的 iOS 設(shè)備上的微信是在運行中的,然后執(zhí)行如下的命令:

make package install

之后,根據(jù)提示,輸入兩次密碼(這個密碼就是你剛剛修改過的密碼),然后安裝就完成了。

就是這么簡單。

總結(jié)

洋洋灑灑寫了這么多,其實真正的步驟是很簡單的,只是我比較啰嗦,想把每個步驟都盡量講得詳細(xì)一點。

如果還有不清楚的地方,可以直接留言提問,或者直接到我的Github上提issue。

當(dāng)然,我也是新手,剛開始學(xué)習(xí)逆向,可能有些地方理解不準(zhǔn)確或有錯誤,歡迎批評指證。

再多啰嗦一句,這里講的都是很淺很淺的東西,可以說跟逆向只能搭上一丟丟的邊,如果你對逆向特別有興趣的話,強(qiáng)烈推薦去看下這本書iOS應(yīng)用逆向工程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內(nèi)容