【#0 準備編】脱獄したiOSデバイス用のTweakを作成する

3 min read読了の目安(約3200字

シリーズ目次

  • #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

https://github.com/theos/theos

公式ドキュメントに沿って環境構築をしていきます。
ドキュメントでは、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の取得

HomebrewXcodeが必要になります。
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を取得します。以下のコマンドをそのまま実行してしまいましょう。

SDKはしばらくすると新しいOSに対応したものが出るので、その時は適時自分で$THEOS/sdksに追加してください

 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はこちらのものを使用しています。

https://github.com/theos/sdks

これでTheosの環境構築は完了です。
ですが、このままだと少し使いにくいので、以下のように.zprofileなどにエイリアスを作成すると良いです。

alias theos="$THEOS/bin/nic.pl"

これでtheosとコマンドを入力すると、新しいプロジェクトの作成(画面?)にすぐ入れます。
次回、【#プロジェクト作成編】では、名前の通りTheosを使ってTweak開発のプロジェクトを作成するところを解説しようと思います。

もし、この記事で間違っているところがあったら教えてください。

参考文献

次の記事