IPAファイルから署名不要なアプリへ変換することが出来るスクリプト「permasigner」が先日リリースされましたが、MacやLinuxから実行する必要があり、Windowsの場合には未対応となっていました。
また、iOSデバイス単体で利用可能な脱獄アプリ「permasigneriOS」もありますが、まだテスト段階ということもあって…不安定…。
そんな状況のため、iOSデバイス単体で「permasigner」自体を使用できれば、現状では色々と便利ということになります…!
ということで、今回はpermasignerをiOSデバイス単体で使用する方法について記しておきたいと思います…!
permasignerをiOSデバイスで利用する
先日リリースされたスクリプト「permasigner」なのですが、こちらを利用するにはMacやLinuxが必要となっていました。
ですが、アップデートなど改修が行われ、iOSデバイス単体でもスクリプトを実行してIPAファイルを変換出来るように!
あくまでスクリプトなのでターミナルアプリから実行する必要はありますが、準備さえしちゃえば簡単な手順で出来るので覚えておくと…オススメ!
Procursus環境で実行可能
ただし、スクリプトが実行出来るのはTaurineやOdysseyra1nで脱獄を行った「Procursus環境」のみとなります。
ldidなどの問題でUnc0ver / Checkra1n環境ではスクリプトが実行出来ないため、この点はご注意ください。
ちなみに、変換したDEBファイルのインストールや、アプリを使用する事はUnc0ver / Checkra1n環境でも可能です。あくまでpermasignerスクリプトを実行出来るのはTaurineなどの環境に限定される…という事です。
iOSデバイス単体で変換してみる! [準備]
ということで、実際にiOSデバイスで「permasigner」を使用して、IPAファイルを署名不要なアプリへと変換していきます。
ちなみに本項の準備編は最初に1回やっておけば大丈夫で、次回以降は次項から実行していけば大丈夫です。
準備① 必要な物をインストール
まず必要なパッケージがいくつかありますので、それらをSileoやCydiaからインストールを行います。
以下の『ldid』、『python3』、『git』の3つがpermasignerを実行する上で必要になります。
これらは全てデフォルトリポジトリのProcursusリポジトリから配布されていますので、リポジトリの追加などは不要です。
続いて、各種コマンドを実行するためのターミナルアプリをインストールしておきましょう。
今回の記事中では『NewTerm 2』を使用していますが、これについては好きなのを使っていただければ大丈夫です。
ちなみに、NewTerm 2は3本指でタップするとコピペメニューが出現しますので、覚えておくと便利です。
また『Filza File Manager』もインストールしておくと便利です。
やろうと思えば別手段でも可能ではあるのですが、変換済みDEBファイルのインストールや、IPAファイルの配置などであると便利。
準備② pip3コマンドを使用できるようにする
先述の「python3」をインストールすることでPython3の実行自体は出来るようになりますが、「pip3」コマンドがこれだけでは動作しません。
そのため、各種インストール後にターミナルアプリから以下コマンドを実行しましょう。これで「pip3」コマンドが使用できるようになります。
ちなみに、この際パスワードを求められますので入力&returnを押してあげましょう。デフォルトパスワードは「alpine」ですが、変更されている方はそちらを入力してください。
また、パスワード入力は画面上に反映されないのは仕様なので、ご注意ください。
sudo python3 -m ensurepip
準備③ permasignerのダウンロード
Github「permasigner」より、各種ファイルを全てダウンロードします。
ブラウザからダウンロードすると問題が発生する原因にもなりやすいため、ターミナルより以下のコマンドを実行し、ダウンロードしてあげましょう。
git clone https://github.com/itsnebulalol/permasigner && cd permasigner
準備④ pip3コマンドで必要な物をインストール
permasignerの動作に必要な物を以下コマンドにてインストールしていきます。
必要な物は最後に指定されているrequirements.txtに記載されているため、以下コマンドだけでインストール可能です。
sudo pip3 install -r requirements.txt
permasignerを使用して変換する!
これでpermasignerを使用する準備が整いましたので、ここからは実際にpermasignerを使用してIPAファイルを変換していきます。
今回は分かりやすい様にTaurineのIPAファイルを使用していますが、元となるIPAファイルに制限はなく、基本的にはどの様なアプリのIPAファイルであっても使用可能です。
ただし、ごく一部のアプリについては資格部分「app.entitlements」を編集する必要が出てくるものもあるとのこと(一部エミュアプリなどが該当するそうです)。
元IPAファイルはpermasignerフォルダに置いておくと便利
実行する前に、ちょっと楽ちんな手順として…Filzaなどでpermasignerフォルダへ変換したい元IPAファイルを配置しておくと便利です。
この場所に配置しなくても大丈夫ではあるのですが、permasignerフォルダに置いておくとIPAファイルを指定する際にファイル名のみ入力すれば良くなり、ミスも減ります!
ちなみに、前項の手順で準備をした場合、permasignerフォルダは以下場所にあります。
/var/mobile/permasigner
① permasignerフォルダへ移動
以下コマンドを使用し、ターミナルアプリ内でpermasignerフォルダへ移動してあげます。
*前項の準備編から続けて実行されている場合、すでにpermasignerフォルダへ移動済みなので本手順はスキップして大丈夫です*
cd permasigner
② スクリプトの実行!
ターミナルが「permasigner」フォルダにいる状態で、以下コマンドを使用してpermasignerスクリプトを実行します。
python3 main.py
② IPAファイルの保管場所を指定
main.pyを実行すると以下のような画面で停止します。
これは「指定するIPAファイルはオンライン上のURLを指定するか?それともローカルに保存されているIPAファイルを指定するか?」という選択肢になります。
基本的にはブラウザなどからIPAファイルをダウンロードし、そちらを指定して実行するのが余計な問題が起こらず安全なので、「local」がオススメです。
- URLで指定する:【external】と入力
- 保存済みIPAファイルを指定する:【local】と入力
③ IPAファイルのパスを入力
次に以下のような画面で停止し、IPAファイルのファイルパスの入力を要求されます。
手順②にて「external」を指定した場合にはIPAファイルのダウンロードURLを、「local」を指定した場合にはIPAファイルのファイルパスを入力してください。
ちなみに、permasignerフォルダにIPAファイルを配置していた場合は、フルパスではなくIPAのファイル名のみを入力すればオーケー。
例えばpermasignerフォルダにTaurine v1.1.5のIPAファイルを配置している場合、ファイル名は「Taurine-1.1.5.ipa」ですので、それを入力してエンター。
④ DEBファイルへの変換完了…!
あとは…DEBファイルへの変換が完了するまで待つだけ!IPAファイルによっては数分かかる場合がありますので、待ちましょう。
完成したDEBファイルはpermasignerフォルダ内に作成される「output」フォルダ内へ保存されています。
DEBファイルをインストール
IPAファイルから変換した署名不要なDEBファイルへと変換が行えたので、DEBファイルをデバイスへインストールしていきます!
とはいっても一般的なDEBファイルと手順は同じで、Filza File Managerなどからインストールを行うだけ。
① FilzaでDEBファイルをインストール
インストールのために使う脱獄アプリはどれでも大丈夫なのですが、今回はよく使用されるFilza File Managerで行っていきます。
Filzaにて変換されたDEBファイル(.deb)を選択し、画面右上「インストール」よりインストールを実行してあげます。
DEBファイルは本記事の準備を実施していた場合、以下フォルダ内に出力されているはずです。
/var/mobile/permasigner/output/
③ インストール完了後は
インストールが完了した後は、画面右上「アクション」を選択し、「uicache」を実行してください。
さらに、uicache後は再度アクションから「リスプリング」を実行すれば…ホーム画面へアプリが出現するはずです!
これで署名不要なアプリがデバイスへインストール出来た!ということになります。
おまけ: 削除するには?
本手順でインストールされたアプリ(今回の記事ではTaurine)は、CydiaやSileoなどからは通常の脱獄アプリと同じ扱いがされます。
そのため、アプリを削除したい場合はホーム画面から削除するのではなく、CydiaやSileoからパッケージを削除してください。
基本的にパッケージ名はアプリ名が使われますので、判別もしやすいかと思います。
〆
準備さえしてしまえば、あとは「cd permasigner && python3 main.py」で実行できちゃうので、iOSデバイス単体で実行しても特に面倒なことはなく、便利かもしれない…!
ちなみにショートカット版もあるのですが、そちらは現時点だと動作がだいぶ遅い部分があったりするので、修正されるまでは本記事の手作業のほうが楽かなと思います。
ということで、iOSデバイス単体で出来るようになったよ!これでMac / Linuxを使用していない方も変換作業が出来るようになったので、色々と便利!
コメント
Windows でもWSL上のUbuntuで実行できました
requirements.txtのインストールのところスクショ違くない……?
なんかシステム管理者の研修みたいなこと書いてある
おっと…ありがとうございますっ(´;・;ω;・)pipインストール時の画像の位置を間違えて……。
ちなみにシステム管理者どうこう…という表示はsudo初回実行時に出現する警告ですね。日本語化されているので逆に謎の違和感があったりしますが…。
UNIXのお勉強しておかないと、使い慣れてないと結構しんどいことになりそう
Procursusのコマンド群はほんと便利そう。
使いたいものもあるんだけど、unc0verだからちょっと羨ましい。
sudo初回実行時の注意書き、iOSでも出るのか
新鮮でいいね
どの手法でも、脱獄成功度や安定度は変わらないのですよね?
どちらかといえば再起動状態でアプリが起動できるかが不安定
基本的には変わらないです。
ただし、Unc0verの場合は署名不要手法にうまく対応出来ていないので、そちらでは失敗が発生したり…という事が起こります。
準備④をやるとコマンドが見つかりませんって出てきちゃう…一体どうすれば…
そこでそのエラーだとpipがうまく動いてない。
ちゃんと使えるようにできてる?
こちらも同じエラーが出てしまうのですが何か方法はありますでしょうか?
pip3コマンドがうまくインストールされていないかと思われます。
もう一度「sudo python3 -m ensurepip」を実行していただき、エラー等が表示されていないかを確認してみてください
正直ios14.3までならunc0ver使う理由ない気がする..絶対Taurineの方が早いし安定してる
毎回Sudo使うんだったら最初に”su”でrootにログインした方が楽じゃない?
sudoが必要なのは2手順のみで、それ以外ではmobileにて実行していただくのが安全です。
そのため、rootへのログインではなく、sudoで実行していただくのがオススメです。
入獄環境で使いたいのだけれど、、、このPoCのipaってどっかに転がってたりしないですかね、
???
何を言ってるんや?
笑った