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文件删除即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容