【#0 準備編】脱獄したiOSデバイス用のTweakを作成する
シリーズ目次
- #0 準備編(2021/4/14更新) ←今ココ
- #1 プロジェクト作成編(2021/4/13更新)
- #2.1 Flex系で関数とか色々みてみる編(以下同文)
- #2.2 実際にhookしてみる編
- #3 設定画面を作る編
- #4 アイコンを設定してみる編
- #5.1 自分のレポジトリを作る編
- #5.2 Tweakを配布する編
(あくまでも未執筆のものは予定なので、今後内容が変わる可能性があるので気をつけてください)
(そもそも続きを書かない可能性の方が大きいのであまり期待はしないでください)
はじめに
脱獄は自己責任の上行ってください。
よほど変なことをしなければ文鎮化したり起動しなくなったりしないとは思いますが、自分で発生した問題を解決できないならやめた方がいいと思います。
なお、脱獄方法に関してはSanta氏が執筆している、Tools4Hacksや、zunda氏のZundaHackというサイトで詳しく解説されているので、そちらを参考にしてください。
Tweakを作るには
Tweakを作る方法は、大きく2通りあります。
Flex系
1つは、Flex系(Flex 3等)を使って脱獄端末単体で行う方法です。こちらは用意するものや、プログラミングの知識がそこまで必要ないので、自分用に簡単なものをサクッと作りたい時に適しています。また、簡単にアプリの関数や変数を見ることができるので、Theosで作成する際にも色々と役立ちます。特にFlexAllというツールはアプリのビュー階層を視覚的に調べることができます。
Theos
2つ目は、Theosというツールを使う方法です。Theosは、Flex系と同じように、アプリ内の変数を操作できる他、様々な処理をhookし、間に好きな処理を挟むこともできます。ただ、自分でコードを書く必要があったり、hookしたいアプリによってはヘッダーファイルが必要になったりとFlex系に比べると多少手間がかかります。しかし、Theosで作成したTweakはdebファイルにして様々なレポジトリで配布することができます。(有料にしてお金を稼ぐこともできます)
今回は、Theosを使ってTweakを作っていこうと思います。
Theosの環境構築
TheosのGitHub
公式ドキュメントに沿って環境構築をしていきます。
ドキュメントでは、iOS、macOS、Linux、Windowsのどのプラットフォームでもできるよと書いてありますが、(個人的な意見ですが)macOSでの開発が一番しやすいと思います。Windows 10ではCygwinなどの設定が必要なため、少し面倒です。
なので、この記事ではmacOSを対象に説明していきます。
一応筆者の環境
- MacBook Pro 2019
- macOS Big Sur 11.3 Beta
- Xcode 12.4
- Homebrew 3.1.1
Homebrew、Xcodeの取得
HomebrewとXcodeが必要になります。
Xcodeの必須バージョンは5.0以上が必須ですが、Catalina以上を使っていれば11.0以上になるので心配はいらないです。持っていない人はAppStoreからダウンロードしましょう。
Homebrewのインストール
Hombrewがない人は、以下のコマンドでインストールしてください。そこそこ時間がかかります。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
必須パッケージの取得
brewがある人、取得してきた人は以下のコマンドで必要なものをインストールします。
brew install ldid xz
Theosをクローンしてくる
その前に
Theosをインストールしたい場所を$THEOS
として.zprofile
などに書いておきます。
echo "export THEOS=~/theos" >> ~/.zprofile
クローン
クローンしてきます
git clone --recursive https://github.com/theos/theos.git $THEOS
ツールチェーンの取得
Xcodeに含まれてるので必要ないです。
SDKを取得する
Tweakの開発に必要なiOS SDKを取得します。以下のコマンドをそのまま実行してしまいましょう。
curl -LO https://github.com/theos/sdks/archive/master.zip
TMP=$(mktemp -d)
unzip master.zip -d $TMP
mv $TMP/sdks-master/*.sdk $THEOS/sdks
rm -r master.zip $TMP
SDKはこちらのものを使用しています。
これでTheosの環境構築は完了です。
ですが、このままだと少し使いにくいので、以下のように.zprofile
などにエイリアスを作成すると良いです。
alias theos="$THEOS/bin/nic.pl"
これでtheos
とコマンドを入力すると、新しいプロジェクトの作成(画面?)にすぐ入れます。
次回、【#プロジェクト作成編】では、名前の通りTheosを使ってTweak開発のプロジェクトを作成するところを解説しようと思います。
もし、この記事で間違っているところがあったら教えてください。
Discussion