多米诺骨牌源
最快捷的苹果资讯

Tweak安装教程

如何安装 tweak

对设备进行越狱

对设备进行越狱是安装 tweak 的首要前提,如果没有越狱设备,并且你不想对自己的设备进行越狱,那么也可以不用继续往下看了。

众所周知,苹果的权限管理是很严格的,在没有越狱的情况下,我们能对设备进行的操控其实是很有限的。而越狱之后我们就可以获得root权限,即最高权限。

现在国内最知名的越狱团队就是盘古太极了,他们都提供了 windows 版与 mac 版的越狱软件,可以进行一键越狱。

需要注意的是,这两家目前支持越狱的最新版本是 9.0.2。因此,如果你的设备已经更新到 9.2 了,你可能需要重新找一台比较低版本的设备。

使用工具进行越狱其实很简单,在此也就不赘述了。

CydiaSubstrate

越狱完的设备上面都会多出一个 App,即 Cydia。

Cydia 可以理解为越狱界的 App Store。只不过 App Store 上面的都是经过苹果审核过的应用。而 Cydia 上面的各式各样的 App,tweak都或多或少使用到苹果在 App Store 审核中禁用的功能特性,比如私有方法。

CydiaSubstrate 是 Cydia 的作者的另一个作品,它的主要功能就是对 App 进行 hook,替换 App 中代码的实现,它是绝大部分 tweak 正常工作的基础,Cydia 上的 tweak 都是基于 CydiaSubstrate 的。

一般情况下,越狱完之后就已经安装了 CydiaSubstrate 了,如果你想看到软件包的详细信息,可以直接在 Cydia 当中搜索 Cydia Substrate。

安装 OpenSSH

OpenSSH 会在 iOS 上安装 SSH 服务,以供外界可以远程登录到 iOS 系统当中。

安装 OpenSSH 也很简单,同样在 Cydia 当中搜索 OpenSSH,然后进行安装就行了。

iOS 上的 OpenSSH 的默认用户有 root 和 mobile,默认密码都为 alpine。在这里强烈建议大家对默认密码进行修改,如果没有修改,很多病毒就可以轻易地通过 ssh 以 root 身份远程登录到 iOS 当中,这后果可是非常严重的。

修改密码的步骤:
1. 确保你的电脑跟你的 iOS 设备在同一个局域网当中
2. 获取 iOS 设备的 IP:设备 -> 无线局域网 -> 查看当前连接的 WIFI 的详细信息,就可以看到设备的 IP
3. 在 Mac 上打开终端,执行命令 ssh root@DeveiceIP,将 DeveiceIP 替换成你的设备 IP
4. 输入密码进行登录,注意密码是不会回显的,也就是不会显示普通的密码星号,只要继续输入就行了,输入完后按回车
5. 登录后,修改root用户密码,执行命令passwd root,根据提示输入新密码
6. 再修改mobile用户密码,执行passwd mobile,根据提示输入新密码

至此,iOS 设备上的环境就配置好了

安装 Theos

Theos 是一个越狱开发工具包,它可以生成 iOS 越狱APP以及tweak等程序的框架,并提供makefile来编译、打包和安装。

安装 Xcode 和 Command Line Tools

会来看这篇教程的,我默认大家都是 iOS 开发者了,所以应该都已经安装了Xcode了,Xcode 就已经附带了 Command Line Tools。

从 Github 下载 Theos

打开命令行,进行如下操作:

xcode-select --install
export THEOS=/opt/theos
如果是这样设置,每次你打开命令行都需要重新设置一下
你也可以编辑/etc/profile文件,把上面那一行添加进去,这样不用每次打开命令行都重新设置一次。
$THEOS/bin/nic.pl
# 如果之前已经安装过 theos,请先删除,然后下载最新版
rm -rf $THEOS
sudo git clone --recursive https://github.com/theos/theos.git $THEOS

配置ldid

ldid是用于对 iOS 可执行文具进行签名的工具,可以在越狱 iOS 中替换 Xcode 自带的签名工具。

http://joedj.net/ldid 下载,将其移动到 /opt/theos/bin 目录下,然后设置可执行权限。

cd <下载ldid的目录>
 sudo mv ldid /opt/theos/bin
 sudo chmod 777 /opt/theos/bin/ldid
./ldid -S dylib文件所在目录

配置CydiaSubstrate

运行 Theos 自动化配置脚本:

sudo /opt/theos/bin/bootstrap.sh substrate

注:最新版的 theos 里面已经没有这个脚本了,可以跳过执行脚本这一步

接下来要做的就是从 iOS 上已经安装的 Cydia Substrate 上复制 cydiaSubstrate 文件到 theos 上。

要想在 Mac 上访问 iOS 设备的文件目录,新手可以直接使用 iFunBox,或者如果你觉得不屑使用图形化工具,也可以直接使用 scp 命令来进行拷贝。

需要拷贝的文件位于 iOS 上的 “/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate”,将其拷贝到 OSX 上,然后重命名为 libsubstrate.dylib 后放到 “/opt/theos/libsubstrate.dylib” 中。

配置 dpkg-deb

deb 是越狱开发安装包的标准格式,而 dpkg-deb 是操作 deb 文件的工具,有了这个工具,Theos 才能将工程正确地打包成 deb 包。

https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl下载dm.pl,将其重命名为 dpkg-deb 后,放到 “/opt/theos/bin/“ 目录下,然后设置它的可执行权限:

sudo chmod 777 /opt/theos/bin/dpkg-deb

其实,Theos 已经是一个 tweak 的开发环境了,但是由于这里只是因为需要编译 tweak 而用到它,所以它的很多后续配置也没有详细讲解了。

至此,我们的安装环境就搭建完了,下一步可以正式地开始安装 tweak 了。

正式安装 tweak

根据上面的内容,我们大概知道了,如果要安装一个别人的 tweak,最简单的方法就是直接到 Cydia 上面进行下载并自动安装,但是前提就是你想要安装的这个 tweak 的作者已经将这个 tweak 提交到 cydia 源当中了。

主要修改的是Makefile文件,使用编辑器打开Makefile文件,可以看到头两行是这样的:

THEOS_DEVICE_IP = localhost
THEOS_DEVICE_PORT = 22
ARCHS = armv7 armv7s arm64 arm64e

代码使用方式

-(int) xxxx
{
return xxxx; //你想要的数值
}

-(float) xxxx
{
return xxxx.f; //你想要的数值+ .f
}

-(BOOL) xxxx
{
return true; // return false; 根据不同的情况
}
+ (id)sharedInstance {
return %orig;
}
如果是下面这种函数,目前(指这篇教程)我们无法做出任何修改。
-(void) xxxx
但是如果是 这样的函数,我们是可以修改的
-(void) xxxx:(int) fp8
{
%orig(fp8);
fp8 = xxxx;
}

#import <substrate.h>
%hook Profile
-(int) gems
{
return 888888;
}

-(int) level
{
return 88;
}

-(int) gold
{
return 888888;
}
%end

make package install

localhost 替换成你的 iOS 设备的 IP,IP的获取方法在上面已经提过了。Tweak工具

%hook WCFacade
-(bool) isTimelineVideoSightAutoPlayEnable
{
return false;
}
%end;
Flex3 路径
/var/mobile/Library/Application Support/Flex3
#import <SpringBoard/SpringBoard.h>
%hook SpringBoard
-(void)applicationDidFinishLaunching:(id)application {
%orig;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"欢迎使用" message:@"多米诺骨牌源 原创插件" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
}
%end
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Filter</key>
	<dict>
		<key>Bundles</key>
		<array>		
		    <string>com.apple.springboard</string>
		</array>
	</dict>
</dict>
</plist>
编辑 Makefile 添加
*_FRAMEWORKS = UIKit

修改并保存后就可以进行安装了。

https://github.com/theos/sdks

在 Mac 下打开终端命令行,并切换到这个仓库的目录,首先确保你的 iOS 设备上的微信是在运行中的,然后执行如下的命令:

清理:make clean
打印详情:make package messages=yes
权限设置:sudo chmod -R 775 *
编译DEB:make package
编译安装:make package install

之后,根据提示,输入两次密码(这个密码就是你刚刚修改过的密码),然后安装就完成了。

就是这么简单。

lzma报错

$ vim $THEOS/makefiles/package/deb.mk
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip

7zip安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install p7zip


未经允许不得转载:多米诺骨牌 » Tweak安装教程
分享到:

评论 抢沙发

提交评论

  •   昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)