二 安裝Theos
2.1 下載Theos
2.1.1 Theos
是放在github上
的崭闲,使用git
命令來(lái)clone
比較方便。雖然可以放在任何目錄下止吐,但是官方建議大家放在/opt/
下 烤宙。打開Mac的終端,輸入命令行:
export THEOS=/opt/theos
2.1.2 下載theos
到指定的目錄
上一步狭姨,我們已經(jīng)配置了一個(gè)環(huán)境變量,現(xiàn)在我們將theos
下載到指定的目錄苏遥,輸入命令行:
git clone --recursive https://github.com/theos/theos.git $THEOS
下載完畢之后饼拍,如下圖所示:
新版Theos的已內(nèi)置CydiaSubstrate.framework,所以不需要像網(wǎng)上其它教程中說(shuō)的需要運(yùn)行bootstrap.sh腳本或者是從手機(jī)上拷貝等方式田炭。
2.2 配置Idid
Idid
用來(lái)專門簽名iOS
可執(zhí)行文件的工具师抄,用以在越獄iOS
中取代Xcode
自帶的codesign
。如果不安裝诫肠,那么產(chǎn)生的deb
文件就安裝不到手機(jī)上司澎。安裝ldid
,推薦的方式是采用brew
來(lái)安裝栋豫,在終端輸入命令行:
brew install ldid
2.3 配置dpkg-deb
deb
是越獄開發(fā)包的標(biāo)準(zhǔn)格式挤安,dpkg-deb
是個(gè)用于操作deb
文件的工具,有了這個(gè)工具,Theos
才能正確的把工程打包成deb
文件丧鸯。同樣的蛤铜,我們采用brew
來(lái)安裝,在終端輸入命令行:
brew install dpkg
至此,我們已經(jīng)完成了Theos的配置了围肥,下面我們新建一個(gè)工程剿干,來(lái)檢驗(yàn)Theos是否配置成功。
三 Theos的用法介紹
3.1 新建一個(gè)工程
打開終端穆刻,先cd到你想要存放新工程的目錄位置下置尔,然后輸入新建工程的命令:
cd /Users/chenzhaoshen/Desktop/殼子
/opt/theos/bin/nic.pl
我是放在桌面的一個(gè)“殼子”文件夾中
之后,終端會(huì)顯示14中模版供你選擇氢伟,如下圖所示:
我們選擇第13個(gè)模版:iphone/tweak , 在終端上輸入:13
選擇好我們需要的模版之后榜轿,然后就想Xcode新建工程一樣,需要輸入項(xiàng)目的名稱朵锣、作者谬盐、BundleId 之類的信息。
這五個(gè)步驟完成之后诚些,一個(gè)名為jjkezidemo1
的文件夾就在指定的文件目錄下生成了飞傀,如下圖所示:
3.2 工程目錄下文件介紹
新建一個(gè)工程之后,會(huì)生成四個(gè)文件:control诬烹、plist砸烦、Makefile、Tweak.xm椅您,這幾個(gè)文件分別有什么用呢外冀?
3.2.1 control
文件
control
文件主要是項(xiàng)目有關(guān)的信息,比如項(xiàng)目的名稱掀泳、版本、開發(fā)者等信息西轩,這個(gè)文件時(shí)系統(tǒng)自動(dòng)生成的员舵,如果沒有特殊的情況,我們不需要去更改這個(gè)文件的內(nèi)容藕畔。
3.2.2 plist
文件
plist
文件的作用主要是設(shè)置需要被逆向的app
的bundle Id
马僻,如果需要逆向多個(gè)APP
,就在Bundles
數(shù)組中添加其bundle Id
注服。
3.2.3 Makefile
文件
include $(THEOS)/makefiles/common.mk
TWEAK_NAME = JJKEZIDemo1
JJKEZIDemo1_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 WeChat"
Makefile
文件指定工程用到的文件韭邓、框架、庫(kù)等信息溶弟,將整個(gè)過(guò)程自動(dòng)化女淑。
JJKEZIDemo1_FILES
設(shè)置工程需要引用的文件,如果你還需要加入一些自己寫的文件辜御,多個(gè)文件之間以空格分隔:JJKEZIDemo1_FILES = Tweak.xm MyClass1.m MyClass2.m
3.2.4 Tweak.xm
文件
這個(gè)文件就是我們進(jìn)行逆向開發(fā)編寫代碼的地方鸭你。