先日TrollStoreがリリースされ、特にiOS 15.0〜15.1.1では未脱獄でもデバイス単体&署名不要でIPAファイルからアプリをインストール出来るようになりました。すごい…!!
そして更に、.app形式(ホーム画面にアプリが配置される系)の脱獄アプリも…インストールが出来る場合が!
ということで、実際に試してみましたので、その流れについて記しておきたいと思います。
脱獄アプリをTrollStoreでインストール?
TrollStoreの使い方をご紹介させていただいた記事【iOS 15.0〜15.1.1向けTrollStore」を使用する方法!】にて、「FilzaやCocoaTopもインストールが出来るよ!」とコメントにて教えていただきました(はっしょー様、ありがとうございますっ!!)。
確かに仕組み的には…出来る…か…?と思いつつ実際に試してみたところ…できた。ビビる…。
iOS 15.0〜15.1.1であれば、未脱獄環境であってもこれら脱獄アプリのインストール&動作を行うことが可能ということになります。
制限はある
ただし、全ての脱獄アプリが動作出来るわけではなく、Substrate系(いわゆるTweak)の脱獄アプリは親玉であるSubstituteやlibhookerがないため不可です。
可能となるのはホーム画面から起動するような「.app形式のアプリケーション」です。
ただし、そうであったとしても脱獄環境ではななかったり、その脱獄アプリ自体がiOS 15対応していないなど、正常に動作するかは、実際にやってみないとわからない部分です(例えばCocoaTopの場合はCPU利用率が一部取得できないなどの問題があったりします)。
また、アクセスできるディレクトリに制限があります。
例として、Filza File Managerではroot(/)でも読み込みは可能なものの、書き込みや変更は行なえません。
書き込みや変更は「/var以下の所有者が”mobile”のディレクトリやファイル」でのみ可能となります
こういった制限があることは理解しておく必要があります。ありますが、うごくのすげぇ…!
ちなみに
ちなみに、打倒Filzaを目指して開発中のファイラー【Santander】ですが、Nebla氏がTrollStore対応IPAファイルを公開してくれているので、次項から記載する手順を行わずともTrollStoreからサクッとインストールすることが可能になっています。
【itsnebulalol/Santander@025b72a】から「SantanderEntitlements」をダウンロードすれば可能なのですが、Githubアカウントでログインしている必要があるため、ご注意ください。
ただ、試した限りではTrollStoreからインストールしたFilzaとアクセス出来る範囲に違いがある様です。
例えば次項から記載する手法でインストールしたFilzaでは、アプリデータが格納されている「/var/mobile/Containers/Data/」以下にもアクセス可能で、アプリデータなどへの書き込み・変更も可能です。
ですがSantanderでは「/var/mobile/Containers/Data/」以下へのアクセスが不可(Dataディレクトリが所有権”root”となっている影響かな?)…といった様な状況です。
脱獄アプリをIPAファイルへ変換する…!
通常、脱獄アプリは【.deb】ファイルとして配布が行われていますが、TrollStoreは【.ipa】ファイルのインストールに使用するアプリです。そのため、IPAファイルへの変換が必要です。
更に、iOS 15.xでは使用できない権限があるため、IPAファイルへ変換する前にそれら権限を取り除く必要があります。
ということで、実際に私が行った手順を記しておきたいと思います(今回は例としてFilzaで行っていますが、他の.app形式の脱獄アプリでも基本は同じです)。
!注意!
通常のアプリとは異なり、脱獄アプリを使用する場合にはiOSのシステムへ影響を与えてしまう物も存在します。
アクセス出来るディレクトリなどに制限はあるとはいえ、ブートループなどの問題を引き起こしてしまう可能性も有りえますので、実行する場合は何が起こっても一人で対処できるスキルを持ち、自身の責任において行ってください。
0、準備編
今回の作業では【ldid】コマンドを使用する必要があるため、まずはこのコマンドを使用できるようにします。
ちなみに、今回はMacで行っていきますが、ldidはCydia等からインストールも行えるためiOSデバイス(脱獄環境)でも可能です(debの解凍やIPAファイルの作成にはFilza、各種コマンド実行はNewTermなどで可能でした)。
Macでldidを使用するには、以下コマンドをターミナルから実行し、Homebrew経由でインストールするのが楽ちんかなと。
brew install ldid
「brew」コマンドからインストールを行っていますが、純正Macには備わっていないため、Homebrewを未インストールの方は先にそちらをインストールする必要があります。
Homebrewのインストールについては公式サイトの先頭にかかれているコマンドを実行してあげればOKです。/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1、debファイルをダウンロード&解凍
まずはIPAファイルへ変換したい脱獄アプリのdebファイルをダウンロード&解凍する必要があります。
例えばFilzaは【com.tigisoftware.filza64bit_3.9.0-2_iphoneos-arm.deb】からダウンロードが可能。debファイルの解凍には【The Unarchiver】を使うのが楽ちんかなと。
debファイルを解凍するといくつかのファイルが出てきますが、更に【data.tar.〇〇(ファイル名がdata.から始まるファイル)】を解凍します。
すると「data」というフォルダが解凍され、この中にある「/Applications/〇〇.app(FilzaであればFilza.app)」が目的のアプリファイルです。
2、付与されている権限情報を出力
付与されている権限があるので、そちらの権限情報を「ldid」コマンドを使用して取得します。
この際、ターミナルは〇〇.app(例:Filza.app)に移動してあるほうが便利なので、【cd [.appのファイルパス]】で移動しておきます。
ファイルパスは「cd (末尾に半角スペース)」まで入力した後、.appをドラッグ・アンド・ドロップするとパスが挿入されて楽です。
続いて権限情報を出力するために以下コマンドを実行。
ファイル名はFilzaであれば【Filza】、CocoaTopであれば【CocoaTop】といった具合に、拡張子なしのバイナリファイルが.app内に存在しているはずなので、そちらを指定します。
*Finderで.appを右クリック > パッケージの内容を表示…を選択すると、.appを開くことが出来ます。
ldid -e [ファイル名] > ent.xml
例(Filzaの場合):ldid -e Filza > ent.xml
3、ent.xmlファイルから不要な権限情報を削除
iOS 15.xでは以下3つの権限が使用できないと、TrollStoreの開発者であるOpa334氏から説明が行われています。
- com.apple.private.cs.debugger
- com.apple.private.skip-library-validation
- dynamic-codesigning
そのため、これらの権限が含まれている場合は削除してあげなければいけません。
前項で出力された【ent.xml】ファイルをテキストエディタで開き、上記3つの権限が記載されていないかを調べ、記載されていれば削除してきます。
例えば以下画像はFilzaから出力されたent.xml(権限情報)ですが、Filzaの場合は「dynamic-codesigning」と「com.apple.private.skip-library-validation」の2つが付与されていますのでこれらを削除。
削除する範囲は以下画像の赤枠部分で、該当キー下の「<true>」と記載されている行も一緒に削除してください。
ちなみにこちらが削除後。この編集作業が完了したら、ent.xmlに上書き保存をしましょう。
4、編集した権限を適用
続いて、以下コマンドを実行して編集済み権限情報をアプリファイルへ適用してあげます。
こちらで指定する[ファイル名]は、手順3で権限情報の出力時に指定したファイルとなります。
また、注意点として…【-S】のあとには半角スペースは入れず、【-Sent.xml】です。ここ間違いやすいのでご注意ください。
ldid -Sent.xml [ファイル名]
例(Filzaの場合):ldid -Sent.xml Filza
5、IPAファイル化
これで必要な権限情報の編集は完了したので、最後にIPAファイル化を行います。
といっても方法は簡単で、【Payload】というフォルダを新規に作成し、そちらへ「.app」を移動させます。
そして、PayloadフォルダをZIP圧縮し、生成されたZIPファイルの拡張子を「.zip」から「.ipa」へ変更しましょう。
これでIPAファイルの完成です(ちなみにファイル名は好きに変更しても大丈夫です)。
6、デバイスへ転送してTrollStoreからインストール
完成したIPAファイルをお好きな手段(私の場合はiCloud Drive経由をよく使います)でデバイスへ転送し、共有メニューからTrollStoreへIPAファイルを送ってあげて…インストールするだけ!
ちなみにインストールが出来ても起動できない…などの場合には、権限の編集にミスがある or そのアプリが対応していないといった可能性が考えられます。
〆
と、こんな感じの流れでFilzaなどの.app形式の脱獄アプリをiOS 15.x&TrollStore対応のIPAファイルへ変換することが出来ます。
脱獄環境に用意されているコマンドやSubstrateと連携して動作する.app形式の脱獄アプリも多いので、そういった場合には動作させるのは難しいところですが…色々と試してみるのは楽しいかもしれません!
ちなみに、脱獄アプリの開発者さんの中にはTrollStore対応版に関して発言されている方も居たりしますので、もしかしたら今後色々と脱獄アプリのIPAバージョン(TrollStore対応版)が登場…する…かも?
コメント
15.1以上のバージョンで使えたらいいのに
brewをインストールしようとするとcurlがないと怒られ、curlの入れ方を調べたらbrew経由で入れろと出てきたんですがどうすればいいですかね…? macOS13.0/Intelです
m1macだと、うまくいかない?
M1 Airでインストールは出来ましたが、【ent.xml】ファイルが作成されなかったです。
M1であるかどうかは関係ないはずです(ちなみに記事中で使用しているのはM1 Mac miniです)。
ent.xmlファイルを生成するコマンドを実行した時に、エラー等が出ていなければ生成されています
あのあと何回か挑戦して無事Filza使えました!ありがとうございました
PATHが通って無かったようです。
それは最初からコピーしてないんじゃない?
SANTA様
ありがとうございます。
無事にFilzaをインストールする事ができました。
0からいきなり訳分からんかった
やっぱこういう作業に向いてるのはmacなのかね
Windowsでididが使えないから編集済みFilza配布して下さい…
ldidです
puttyのSHSH接続で使えるよ
Ubuntuの仮想マシンなんなり作ってください
ttps://github.com/ProcursusTeam/ldid/actions/runs/2926696970
こちらにある「ldid_w64_x86_64」をダウンロード、解凍して中にある「ldid.exe」をコマンドプロンプトにて、この記事の「ldid」コマンドに相当する位置で指定すればWindowsでldidを使えるはずです。
それのやり方詳しく教えてください
上の私の文章でどこまで分かりました?
とりあえずダウンロードしてldidのところで代用ってのは分かりますが何をどう書き込めばいいのかわからずです
画像とかでしてくれたらわかりやすいんですけど
コマンドプロンプトにて、この記事の「3」の画像のような文字列は出てきましたが、これをテキストエディタで編集・反映するにはどのようにすればよいのでしょうか?
更に下に返信できないようなのでこちらに。
「ldid.exe」をコマンドプロンプトにドラッグ&ドロップすればそのままパスが入力されると思います。
Filzaの場合の「Filza」も同じく。
もし分からないようでしたら@LinaFN_300_2までDMしてください。
横槍で申し訳ありませんが、無事インストールできました。ありがとうございます!
優しいなあ
クレクレに付き合ってあげるなんて
これをios15版のfilza escapedとしてアップデートしてくれたら楽なのに
いやただのFilzaだからescapedにはならんやろなぁ
これGrapherもインストールして使用できるんですか?
Grapherのアプリ自体はインストール出来るかと思いますが、実際にはログを取得するためにSubstrateが利用されているため、正常な動作は難しいです
15.2の俺は涙目からの号泣ですよ……
こんなそそられる現状なのに…
ちくしょぉー!!!
私も15.3で涙目ですよ~
確かに15.1で自動アプデ切ってたはずなのに気づいたら15.3だった・・・
SANTAさん、ありがとうございます。
お陰様で15.1のiPad mini5にFilzaをインストールすることができました。
zxtouch行けるかもと思ってインストールしたけど、スクリプト置場がアクセス権ない場所で撃沈しました。
ちょっと手こずったが入獄iPad 6th 15.1にFilzaインストールできた!
見よう見まねでやってみたがent.xmlがどこにあるか分からんくて編集できん詰んだ、、くそぅみんな賢いな😢
記事では手順2の最初に【cd 〇〇】コマンドにて.app内へディレクトリ移動を行っています。
そのため、記事通り…であれば、ent.xmlも.app内に生成されます。
小さな知恵を振り絞って何とか出来ました!管理人さん、いつも迅速な対応ありがとうございます!!
OBTSまであと1ヶ月か…全裸で待機します。
filza以外に非脱獄でも使えそうな脱獄アプリとかあります?
あと2年くらいしたら15.3.1でも脱獄できるようになるかな、
お聞きします。こちらの方法でFilzaをインストールして前にFilza File Managerを購入していたのでこのIDでアクティベートも出来たのですが、広告が相変わらず出るのですが、これって仕様ですか?
FilzaEscapedなどの方では広告が出ますが、オリジナルのFilzaではこれまで数年間使ってきて1度も広告が出たことがありません…。
どのデバイスや環境でも出たことがないのですが、具体的にはどの様な場面で出ますでしょうか…?
無事にインストールは出来たのですが、
どのディレクトリも空白表示になるのは、何かミスってるんでしょうか?
iPhone12 ios15.1.1
trollstoreのバージョンあげたら解決しました。
新しいバージョンが来てますね
1.0.5でiPod 7のサポートがされたっぽい?
熱い
これでインストールしたfilzaで、シャッター音って消せますか?
/System/Library/Audio/UISounds/photoShutter.caf
をリネームして無効にしようとしたけど書き込みできなかった。
ありがとうございます!!
匿名さんがご回答くださっている通り、シャッター音自体の変更は不可です。
これは記事中にもあります通り、/var以下の所有権が”mobile”であるファイルでなければ改変が出来ないためです
tweak でなく、apple ストアからインストールしたアプリもipa化できるといいんだけど。手法ご存知の方、いらっしゃいますか?
StoreからIPAファイルをダウンロードするアプリならいくらでもあるけど…そーゆーのじゃなくて?
「TrollStore 1.0.4」の方に書いてある事かな?無理みたい
Filza、広告ウザい。
FilzaEscapedなどの方では広告が出ますが、オリジナルのFilzaではこれまで数年間使ってきて1度も広告が出たことがありません…。
どのデバイスや環境でも出たことがないのですが、具体的にはどの様な場面で出ますでしょうか…?
Filzaを起動してファイルの中身を閲覧する度に出るんですよね〜
SANTAさん、ゴメンなさい。上記記事の「Filza」を「FilzaEscaped15」と勘違いしてしてインストールしてました。こちらはアクティベートしても広告が頻繁に出ますね。
「/var/mobile/Containers/Data/」内のアプリの書込み可って言うことはLINEの通知音変更はダメかぁ〜ざんねん〜
LINEの通知音は知らないけど
「/private/var/containers/Bundle/Application/」も変更できますよ
これでGPS偽装アプリも使えるようになりますか?
locsimはTrollStore環境でも動作出来るだろうと開発者さんから説明されています。
ただし、こちらはコマンドで使用するものなためこれ単体では利用できませんので、locsimを組み込んだアプリであれば…という注釈付きになっています
SANTAさん、返信ありがとうございます!
難しそうですが、頑張ってみます^^;
この方法でFilzaの入れ方を知りたい
Filzaの入れ方…というのは、Filzaを使用して脱獄環境で本記事の方法を実行する方法…ということでしょうか…?
iCleaner Proで試したところ、ldid -e Filzaで標準出力が何もされないのですが、iCleaner Proは難しそうですかね。。。
訂正:
ldid -e iCleaner
起動させる方法もあるようですが、iCleaner ProはTrollStore対応が行われていないため正常には動作出来ません…。
Windows版の解説もほしいです