二 安装Theos
2.1 下载Theos
2.1.1 Theos
是放在github上
的,使用git
命令来clone
比较方便。虽然可以放在任何目录下,但是官方建议大家放在/opt/
下 。打开Mac的终端,输入命令行:
export THEOS=/opt/theos
2.1.2 下载theos
到指定的目录
上一步,我们已经配置了一个环境变量,现在我们将theos
下载到指定的目录,输入命令行:
git clone --recursive https://github.com/theos/theos.git $THEOS
下载完毕之后,如下图所示:
image.png
新版Theos的已内置CydiaSubstrate.framework,所以不需要像网上其它教程中说的需要运行bootstrap.sh脚本或者是从手机上拷贝等方式。
2.2 配置Idid
Idid
用来专门签名iOS
可执行文件的工具,用以在越狱iOS
中取代Xcode
自带的codesign
。如果不安装,那么产生的deb
文件就安装不到手机上。安装ldid
,推荐的方式是采用brew
来安装,在终端输入命令行:
brew install ldid
2.3 配置dpkg-deb
deb
是越狱开发包的标准格式,dpkg-deb
是个用于操作deb
文件的工具,有了这个工具,Theos
才能正确的把工程打包成deb
文件。同样的,我们采用brew
来安装,在终端输入命令行:
brew install dpkg
至此,我们已经完成了Theos的配置了,下面我们新建一个工程,来检验Theos是否配置成功。
三 Theos的用法介绍
3.1 新建一个工程
打开终端,先cd到你想要存放新工程的目录位置下,然后输入新建工程的命令:
cd /Users/chenzhaoshen/Desktop/壳子
/opt/theos/bin/nic.pl
我是放在桌面的一个“壳子”文件夹中
之后,终端会显示14中模版供你选择,如下图所示:
image.png
我们选择第13个模版:iphone/tweak , 在终端上输入:13
选择好我们需要的模版之后,然后就想Xcode新建工程一样,需要输入项目的名称、作者、BundleId 之类的信息。
相关信息.png这五个步骤完成之后,一个名为jjkezidemo1
的文件夹就在指定的文件目录下生成了,如下图所示:
3.2 工程目录下文件介绍
新建一个工程之后,会生成四个文件:control、plist、Makefile、Tweak.xm,这几个文件分别有什么用呢?
3.2.1 control
文件
control
文件主要是项目有关的信息,比如项目的名称、版本、开发者等信息,这个文件时系统自动生成的,如果没有特殊的情况,我们不需要去更改这个文件的内容。
3.2.2 plist
文件
plist
文件的作用主要是设置需要被逆向的app
的bundle Id
,如果需要逆向多个APP
,就在Bundles
数组中添加其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
文件指定工程用到的文件、框架、库等信息,将整个过程自动化。
JJKEZIDemo1_FILES
设置工程需要引用的文件,如果你还需要加入一些自己写的文件,多个文件之间以空格分隔:JJKEZIDemo1_FILES = Tweak.xm MyClass1.m MyClass2.m
3.2.4 Tweak.xm
文件
这个文件就是我们进行逆向开发编写代码的地方。
网友评论