theos

theos是一个越狱开发工具包,使用它可以创建tweak项目来动态Hook第三方程序。

安装前签名工具ldid

首先确保安装了brew,然后在终端使用命令“brew install ldid”安装ldid。

修改环境变量

为了使用方便,需要修改用户配置文件,在终端输入“vim ~/.bash_profile”编辑配置文件,在该文件后面追加以下两行:

export THEOS=~/theos

export PATH=$THEOS/bin:$PATH

保存退出,在终端输入命令“source ~/.bash_profile”使该环境变量生效,或者重新打开终端也可以令其生效。

下载theos

cd到~/theos目录,若无该目录先创建,然后使用git clone命令下载theos:git clone --recurse-submodules https://github.com/theos/theos.git。需要注意的是,因为theos有很多依赖库,因此需要使用--recurse-submodules来循环下载,否则下载的theos可能会不可用,—recursive也是用于循环下载,但我这边报错了,所以换成了--recurse-submodules。

创建tweak项目并使用

新建一个项目目录,然后cd到该目录,输入命令“nic.pl”会出现以下界面。

nic.pl

选择tweak项目,输入其序号15即可。然后依次输入Project Name(项目名称)、Package Name(项目ID,随意写)、Author/Maintainer Name(作者,可以直接敲回车,它会默认使用Mac上的用户名)、[iphone/tweak] MobileSubstrate Bundle filter(需要修改的APP的Bundle Identifier,可以通过Cycript工具获取)、[iphone/tweak] List of applications to terminate upon installation(这一步直接回车使用默认做法即可)。

项目文件

创建完成后,会生成以上四个文件。

首先打开Makefile文件,在前面加入环境变量,写清楚是通过哪个IP和端口访问手机。

export THEOS_DEVICE_IP=127.0.0.1

export THEOS_DEVICE_PORT=2222

IP为本地127.0.0.1,端口是使用usbmuxd输入“iproxy 2222 22”切换远程连接的端口号,可以自己指定。若不希望每个项目的Makefile都编写IP和端口环境变量,可以将以上两行添加到用户配置文件中。

然后就可以打开Tweak.x文件编写代码,当然在这之前我们需要对修改的APP进行砸壳获取到头文件信息,并使用Reveal、Cycript等工具来分析我们想要修改的地方。

%hook 要hook的类名

要hook的方法与实现

%end

最后通过编译(命令make)、打包(命令make package,会在项目目录下生产一个.deb文件)和安装(命令make install,完成后会自动重启SpringBoard)即可完成插件的开发。

此时该插件就会将手机上的APP永久修改了,若需要恢复可卸载插件,将iPhone中/Library/MobileSubstrate/DynamicLibraries目录下相关的.dylib和.plist文件删除即可。

你可能感兴趣的:(theos)