第五节 macOS 安装 Theos 完整教程
学习目标
学完本节,希望你能够:
- 在 macOS 上从零完成 Theos 安装:Command Line Tools、克隆、环境变量、ldid、验证。
- 根据本机是 Intel 还是 Apple Silicon 选对 ldid 版本,并放到
$THEOS/bin。 - 用
nic.pl创建第一个项目,并用make、make package跑通一次。 - 遇到「bad CPU type」、环境变量不生效、Xcode 警告时,能按本节步骤排查。
阅读提示:本节是「一条龙」实操,跟着做一遍即可;和第四节(Xcode 15 兼容)搭配看更完整。
常见疑问 :zsh 和 bash 配置文件不一样吗?------zsh 用 ~/.zprofile 或 ~/.zshrc,bash 用 ~/.bash_profile,改对文件再 source 一次。
一、前置要准备啥?
用一句话说清楚
说白了就是:macOS 系统 + Xcode(或至少 Command Line Tools)+ Git。建议 Xcode 和 Command Line Tools 用较新版本,省得后面报 SDK 或架构问题。
二、安装步骤(一般怎么干)
装 Xcode Command Line Tools
没装 Xcode 的话,至少装命令行工具,否则 git、clang 都没有:
bash
xcode-select --install
克隆 Theos 仓库
bash
mkdir -p ~/theos
git clone --recursive https://github.com/theos/theos.git ~/theos
记一句:一定要带 --recursive,子模块(如 Logos 预处理器)才会一起下来。
配置环境变量
把 Theos 和它的 bin 放进 PATH,方便以后直接用 nic.pl、ldid 等。
zsh (推荐):写入 ~/.zprofile 或 ~/.zshrc:
bash
export THEOS=~/theos
export PATH=$THEOS/bin:$PATH
bash :写入 ~/.bash_profile。
然后执行一次:
bash
source ~/.zprofile # 或 source ~/.zshrc / source ~/.bash_profile
安装 ldid(签名工具)
Theos 打包出来的二进制要给越狱设备用,一般用 ldid 签名。按你 CPU 选一个:
Intel (x86_64):
bash
curl -LO https://github.com/ProcursusTeam/ldid/releases/download/v2.1.5-procursus7/ldid_macosx_x86_64
chmod +x ldid_macosx_x86_64
mkdir -p $THEOS/bin
mv ldid_macosx_x86_64 $THEOS/bin/ldid
Apple Silicon (arm64):
bash
curl -LO https://github.com/ProcursusTeam/ldid/releases/download/v2.1.5-procursus7/ldid_macosx_arm64
chmod +x ldid_macosx_arm64
mkdir -p $THEOS/bin
mv ldid_macosx_arm64 $THEOS/bin/ldid
注意:下错架构会报 "bad CPU type in executable",换另一个版本即可。
验证安装
bash
echo $THEOS # 应输出你放 theos 的路径
$THEOS/bin/ldid -h # 应打出 ldid 帮助
$THEOS/bin/nic.pl # 应出现模板选择
三条都正常,说明环境就绪。
三、创建第一个项目
用模板建项目
bash
$THEOS/bin/nic.pl
# 选模板(例如 13. iphone/tweak 或你看到的 tweak_modern)
# 按提示填项目名、包名、作者等
接下来干啥?
- 编辑
Tweak.x(或对应源文件)写 Hook 逻辑。 make编译。make package打包成 deb。- 若有越狱设备并配好 SSH:
make install装到设备。
这样你就完成从安装到第一个项目的一条龙了。
四、常见问题怎么排?
"bad CPU type in executable"
说明当前下的 ldid 架构和本机 CPU 不一致 。Intel 用 x86_64,Apple Silicon 用 arm64,重新下对版本、覆盖 $THEOS/bin/ldid 即可。
Xcode / Command Line Tools 过旧或报错
建议更新 Xcode 到最新;若只用 Command Line Tools,可重装一遍:
bash
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
环境变量不生效
- 确认改的是当前用的 shell 的配置文件(zsh →
.zprofile/.zshrc,bash →.bash_profile)。 - 改完后执行一次
source 对应文件,或新开一个终端窗口再试echo $THEOS、nic.pl。
本节小结
你只要记住这几条就行:
- 前置:macOS + Xcode(或 Command Line Tools)+ Git。
- 安装流程:xcode-select --install → 克隆 Theos(--recursive)→ 配 THEOS 和 PATH → 装对架构的 ldid 到 $THEOS/bin → 验证。
- 验证:
echo $THEOS、ldid -h、nic.pl都正常即可。 - 第一个项目:
nic.pl建项目 → 编辑代码 →make→make package(→make install)。
本节术语速查
| 术语 | 一句话解释 |
|---|---|
| ldid | 越狱环境常用签名工具,给 Mach-O 签 entitlements,Theos 默认用它替代 codesign。 |
| nic.pl | Theos 的项目模板生成脚本,选模板、填信息生成项目目录和 Makefile。 |
| deb | Debian 包格式,make package 生成的就是 deb,可装到越狱设备。 |
本节思考与练习
- 概念 :用一句话说明「为什么克隆 Theos 时要加
--recursive」。 - 应用:若你在 M1/M2 Mac 上装了 x86_64 的 ldid,会有什么现象?该怎么改?
- 动手 :按本节从零做一遍安装,并用
nic.pl创建一个 tweak,执行make看是否生成 dylib。 - 综合:把「前置条件 → 安装 → 验证 → 第一个项目」写成 4 步口诀,方便自己以后重装或教别人。
下一节预告:到本节为止,环境搭建这条线就告一段落;后面章节会进入具体逆向分析、Hook 实战等,会用到你在本节装好的 Theos 和开发工具。