苹果iPhone手机来编写ios越狱插件deb【theos】

今天给大家带来一篇在苹果iPhone手机上编写越狱插件的教程,有时间以为没有MAC,但是又很想弄越狱插件玩呢, 所以研究了一下如何方便的在苹果iPhone手机上编写和编译越狱插件deb. 并且把这过程中遇到的问题和情况总结了一下以此分享给大家~

苹果iPhone手机来编写ios越狱插件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 这个依赖包

苹果iPhone手机来编写ios越狱插件deb-清风博客

这个包有点大,  里面包含30多个依赖包, 网络不好的话开加速器或者多试几次,  安装完之后一定要点查看详情看看里面有没有红字报错,  特别是网络不好或者之前已经安装了很多插件的情况下,  里面的依赖包容易导致冲突,  所以最好越狱后第一时间先安装这个包, 这样一般不会冲突报错.

安装完theos依赖包之后, 就开始安装theos 本体和ios开发sdk, 一般是需要在命令行中连接github在线下载,  很多人的网络环境不好, 所以我这里直接已经下载上传到网盘了:

下载这个压缩包之后, 里面有一个theos目录, 已经包含了theos本体和sdk, 我们直接将其解压放到 /var/mobile/ 这里面即可。

苹果iPhone手机来编写ios越狱插件deb-清风博客

第二步,  我们开始使用theos新建和编译越狱插件deb,  一般theos是在命令行下使用的, 但是为了简单方便, 我们下载一个图形化的APP来使用: iTheosMaker, 源地址:

https://repo.packix.com
苹果iPhone手机来编写ios越狱插件deb-清风博客

安装完之后我们打开这个APP,  点击上面的+号图标, 在弹出的菜单中选择Create New Project(新建插件工程),  然后输入插件名称, 比如: test,  然后点击Confirm 确认.

苹果iPhone手机来编写ios越狱插件deb-清风博客

新建的工程文件默认在 /var/iTheosPro/ 里面, 

然后列表中出来了新建的插件工程里的4个文件:

  • Makefile  这个是编译脚本, 比如要编译哪几个源代码文件
  • Tweak.x  这个是插件源码文件,  一般是Objective-C语言代码
  • Test.plist  这个是插件注入配置文件, 比如要注入哪个APP
  • control  这个是插件信息文件, 比如插件名称, 版本, 依赖包等
苹果iPhone手机来编写ios越狱插件deb-清风博客

然后我们点下面的Builder图标转到编译界面, 点击Make Package按钮进行编译生成插件deb,  成功之后会弹出如下提示:

苹果iPhone手机来编写ios越狱插件deb-清风博客

最后, 我们点击Go To Deb Folder就可以在Filza中看到我们制作成功的deb越狱插件了

苹果iPhone手机来编写ios越狱插件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中全部替换掉原来的:

苹果iPhone手机来编写ios越狱插件deb-清风博客

然后我们把Test.plist中的

com.apple.springboard

改成:

com.apple.UIKit

这样我们的插件就会被每一个打开的APP加载了、

苹果iPhone手机来编写ios越狱插件deb-清风博客

然后点击Make Package重新编译生成deb并使用Filza安装到系统中。

苹果iPhone手机来编写ios越狱插件deb-清风博客

这样我们就可以在越狱商店中看到我们的刚安装的插件了

苹果iPhone手机来编写ios越狱插件deb-清风博客

这时我们随便打开一个第三方的APP, 就会看到自动弹出了一个提示, 代表我们的插件已经成功注入启动。

苹果iPhone手机来编写ios越狱插件deb-清风博客

到此, 我们就成功在苹果iPhone手机上编写越狱插件deb并成功安装运行了,

另外给大家一个建议就是,  iTheosMaker自带的文本编辑器不太好用,  可以安装FilzaPlus这个插件,  然后直接在Filza中编辑代码,  自带代码高亮等效果比较方便, 大家就自行尝试了.

温馨提示:本文最后更新于2022-03-07 15:29:35,某些文章具有时效性,若有错误或已失效,请在下方留言或联系清风#
© 版权声明
THE END
文章不错?点个赞呗!
点赞50 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容