今天给大家带来一篇在苹果iPhone手机上编写越狱插件的教程,有时间以为没有MAC,但是又很想弄越狱插件玩呢, 所以研究了一下如何方便的在苹果iPhone手机上编写和编译越狱插件deb. 并且把这过程中遇到的问题和情况总结了一下以此分享给大家~
首先当然是给自己的苹果iPhone手机越狱了, 这一步不用多说, 我这是ios13系统用的奥德赛odyssey越狱(淘宝50买的一年), 然后开始配置开发环境, 总共分为以下几步:
- 安装Theos 依赖, 本体和ios开发的SDK
- 使用iTheosMaker新建和编译越狱插件
- 使用Filza安装并运行越狱插件
第一步, 我们要安装这个Theos依赖包, 这个theos是一个跨平台的编译构建工具, win, linux, macOS, ios系统都可以用它编译越狱插件deb.
先在越狱商店(Cydia或Sileo)里面添加下面这个越狱源:
https://apt.procurs.us/
然后安装 Theos Dependencies 这个依赖包
这个包有点大, 里面包含30多个依赖包, 网络不好的话开加速器或者多试几次, 安装完之后一定要点查看详情看看里面有没有红字报错, 特别是网络不好或者之前已经安装了很多插件的情况下, 里面的依赖包容易导致冲突, 所以最好越狱后第一时间先安装这个包, 这样一般不会冲突报错.
安装完theos依赖包之后, 就开始安装theos 本体和ios开发sdk, 一般是需要在命令行中连接github在线下载, 很多人的网络环境不好, 所以我这里直接已经下载上传到网盘了:
下载这个压缩包之后, 里面有一个theos目录, 已经包含了theos本体和sdk, 我们直接将其解压放到 /var/mobile/ 这里面即可。
第二步, 我们开始使用theos新建和编译越狱插件deb, 一般theos是在命令行下使用的, 但是为了简单方便, 我们下载一个图形化的APP来使用: iTheosMaker, 源地址:
https://repo.packix.com
安装完之后我们打开这个APP, 点击上面的+号图标, 在弹出的菜单中选择Create New Project(新建插件工程), 然后输入插件名称, 比如: test, 然后点击Confirm 确认.
新建的工程文件默认在 /var/iTheosPro/ 里面,
然后列表中出来了新建的插件工程里的4个文件:
- Makefile 这个是编译脚本, 比如要编译哪几个源代码文件
- Tweak.x 这个是插件源码文件, 一般是Objective-C语言代码
- Test.plist 这个是插件注入配置文件, 比如要注入哪个APP
- control 这个是插件信息文件, 比如插件名称, 版本, 依赖包等
然后我们点下面的Builder图标转到编译界面, 点击Make Package按钮进行编译生成插件deb, 成功之后会弹出如下提示:
最后, 我们点击Go To Deb Folder就可以在Filza中看到我们制作成功的deb越狱插件了
然后在Filza中点击打开这个deb文件, 点击右上角的安装即可成功越狱插件.
当然了, 默认新建的越狱插件没有任何功能, 安装之后也没有任何效果, 所以我写了一个弹出一个提示框的代码:
#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <pthread.h>
void* thread_show_tip(void* arg)
{
sleep(2);
dispatch_async(dispatch_get_main_queue(), ^{
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"注入成功" preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil]];
[[window rootViewController] presentViewController:alert animated:YES completion:nil];
});
return 0;
}
static void __attribute__((constructor)) _init_()
{
NSString* app_path = [[NSBundle mainBundle] bundlePath];
if([app_path containsString:@"/var/"] && [app_path containsString:@"/Application/"])
{
pthread_t thread;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_create(&thread, &attr, thread_show_tip, nil);
}
}
把上面这一段代码复制到Tweak.x中全部替换掉原来的:
然后我们把Test.plist中的
com.apple.springboard
改成:
com.apple.UIKit
这样我们的插件就会被每一个打开的APP加载了、
然后点击Make Package重新编译生成deb并使用Filza安装到系统中。
这样我们就可以在越狱商店中看到我们的刚安装的插件了
这时我们随便打开一个第三方的APP, 就会看到自动弹出了一个提示, 代表我们的插件已经成功注入启动。
到此, 我们就成功在苹果iPhone手机上编写越狱插件deb并成功安装运行了,
另外给大家一个建议就是, iTheosMaker自带的文本编辑器不太好用, 可以安装FilzaPlus这个插件, 然后直接在Filza中编辑代码, 自带代码高亮等效果比较方便, 大家就自行尝试了.
暂无评论内容