Rootless插件适配

今天遇到群里有人问插件怎么适配rootless该怎么编写。

今天教学一波,怎么编译适配我们的插件。

好了,我们教程开始:

首先我们写插件的时候要了解他的原理。

我们首先知道我们rootless越狱插件是无根的,而且我们的插件是在jb目录下,那就很简单了,这样我们就知道,其实跟安装普通插件没什么区别,只是目录可能变了而已,那么我们开始写一下。

上次已经教过大家安装配置theos环境配置了,我们创建插件(tweak)

Rootless插件适配插图

既然是rootless那我们肯定需要设置一下,打开我们makefile文件进行设置:

Rootless插件适配插图1

我们需要加一个判断,判断是否是rootless插件,如果是我们进行适配,这里的代码是:

ROOTLESS = 1

ifeq ($(ROOTLESS),1)
 THEOS_PACKAGE_SCHEME=rootless
endif

ifeq ($(THEOS_PACKAGE_SCHEME), rootless)
 TARGET = iphone:clang:latest:15.0
else
 TARGET = iphone:clang:latest:12.0
endif

意思就是设置一个变量,然后进行判断,如果是并且是在12到15系统内,完成后我们进行编译。

Rootless插件适配插图2

这样我们的适配的rootless插件就完成了

这里强调一下,如果涉及到路径调用,比如调用命令行工具,我们需要注意fugu15Dopamine无根越狱的路径是/var/jb/,所以我们需要设置一下路径,运行我们的库或者命令行工具,代码如下:

上面的代码有三个路径,根据自己的需求设置路径即可,看你的设备是什么样的进行适配即可。

后面的task就是执行的内容跟shell的命令,这是一个示例。

如果是monkeydev去写插件的时候,我们需要注意的点:

我们需要把支持arm7去掉,因为是支持arm64的,然后我们需要写以上代码进行执行我们的库,你可以去写个插件用dlopen去执行该目录下的库或者命令行工具等,具体需要按照自己的要求去执行

© 版权声明
THE END
喜欢就支持一下吧
点赞9赞赏 分享
评论 共11条

请登录后发表评论