ドロイドPPPwn
PPPwn_cpp_android を使用する Android フロントエンド
- これには、GUI、arm-android および x86-android 用に特別にコンパイルされた PPPwn_cpp バイナリ、さらにサポートされているすべてのファームウェア (7.00 ~ 11.00) 用の stage1.bin + stage2.bin が含まれています。
- ファームウェア 9.00、9.60、10.xx、11.00 の場合、
stage2.bin
Sistr0 リポジトリから取得されます。つまり、GoldHEN ペイロードをロードできます。 - ファームウェア 7.0x、7.5x、8.0x、8.5x、9.03、9.04 の場合、
stage2.bin
EchoStretch ps4-hen-vtx-pppwn
から取得されます。つまり、PS4HEN ペイロードをロードできます。 - 独自の
stage2.bin
使用して、 adb push stage2.bin /sdcard/
を介して外部ストレージのルート フォルダーに配置できます。
要件
root access
を持つ Android デバイス、最小バージョン Android KitKat 4.4- OTG USB ケーブルまたはアダプター
- USBイーサネットアダプター
- イーサネットケーブル
あるいは、デバイスにイーサネット ポートが組み込まれている場合は、Android TV ボックスの場合と同様に、それを使用できます。
使用法
- このリポジトリから最新リリースをダウンロードし、Android スマートフォンにインストールします。
- PS4 の場合: 元の PPPwn の指示に従ってイーサネット接続を設定します。
- DroidPPPwn アプリケーションを起動し、PS4 ファームウェアを選択します。
-
Test Internet Connection
画面で、アプリのStart
ボタンを押し、同時にコントローラーの [X] を押します。 - エクスプロイトがステージ 4 に到達し、メッセージがモニターに表示されるまで待ちます。
- エクスプロイトが失敗した場合は、
Start
ボタンをもう一度クリックして停止し、最後の手順をもう一度繰り返します。
ここでの実行例: https://youtu.be/SQT7AgTtrDY
PPPwn バイナリの構築とパッケージ化について
このパッケージで提供されるバイナリについての説明。
実行許可を取得するには、偽のpppwn.jar
(app/libs プロジェクト フォルダーにある zip) を含めて Android Studio パッケージング システムを騙し、デフォルトのアプリのプライベート ディレクトリ内のすべてのバイナリを抽出する必要がありました。フォルダー/data/data/it.deviato.droidpppwn/lib/
。インストール直後、その中に抽出された 4 つのファイルが見つかります。これらはlibXXX.so
という名前の偽のライブラリで、実際には zip アーカイブでもあり、それぞれに異なるアーキテクチャのバイナリ (および、さまざまなstage1
およびstage2
ファイル) が含まれています。
初めてアプリを開くと、アーキテクチャが認識され、適切なバイナリが抽出されます。 4 つのファイルと関連アーキテクチャは次のとおりです。
- armeabi-v7a/libpppwnkk.so -> for 32bit armv7l, minimum sdk 19 (KitKat 4.4), libc shared build (cannot link static due to some ndk bugs)
- armeabi-v7a/libpppwn.so -> for 32bit armv7l/armv8l, minimum sdk 21 (Lollipop 5.0), static build
- arm64-v8a/libpppwn.so -> for 64bit armv8a+, minimum sdk 21, static build
- x86/libpppwn.so -> for 32bit x86 minimum sdk 21, static build
- x86_64/libpppwn.so -> for 64bit x86 minimum sdk 21, static build
すべてのバイナリは、Android 4.4 をサポートする最新の公式 Android NDK r25c を介してコンパイルされます。
これらのバージョンが気に入らない場合、またはうまく動作しない場合は、上記のフォルダー内のpppwn
バイナリを好みのバージョンに置き換えるだけで済みます。
独自にビルドしたい場合は、元の xfangfang リポジトリをフォークし、そのCMakeLists.txt
変更して、Linux マシン上の NDK またはデバイス上の Termux アプリの両方で Android 用にコンパイルできるようにしました。手順はフォーク自体の PPPwn_cpp_android にあります。
既知のバグ
変更履歴
1.4.1
- すべてのバイナリを最新の pppwn_cpp バージョン 1.1.0 に再コンパイルしました。
- pppwn_cpp から新しい「old-ipv6」 (-old) パラメーターを選択するオプションを追加しました (エクスプロイトが失敗した場合にのみ使用されます)。
- すべての 10.xx ファームウェアの新しい GoldHEN バージョンで stage2.bin を更新しました。
1.4
- 起動時にバックグラウンド サービスとしてエクスプロイトを自動的に実行するオプションを追加しました。エクスプロイトが成功した後にデバイスの電源を自動的にオフにするかどうかを決定することもできます。注: Android システム/デバイスによっては、アプリが自動的に起動するための許可を与える必要がある場合があります (たとえば、xiaomi の場合は、[設定] -> [アプリ] -> [許可] -> [自動開始] に移動し、DroidPPPwn にチェックを入れます)。
- コードをクリーンアップし、いくつかの小さなバグを修正しました
1.3.1
- ps4-hen-vtx ペイロードのすべての stage2.bin ファイルを最新バージョンの EchoStretch (PPPwn-1.0310) に更新しました。
- Hen サポートが 7.0x ファームウェアにも追加されました。
1.3
- Android x86_64 アーキテクチャ用の新しい pppwn バイナリ ビルドを追加しました。
- 残りのすべてのファームウェアに対する PS4HEN のサポートが追加されました。現在、ペイロード サポートのない 7.0x バージョンのみが残っていますが、基本的な PoC のみがサポートされています。
- pppwn のオプション パラメータ -nw (開始前にもう 1 つの PADI を待たない) と -rs (より正確なスリープ時間に CPU を使用する) を設定する 2 つのオプションを GUI に追加しました。
- x86 32 ビットの間違ったビルドを修正しました。
- 標準システムと 64 ビット専用システムの両方で、インストーラーを単一の apk パッケージに統合しました。
1.2.3
- すべてのバイナリを再コンパイルして pppwn_cpp の最新バージョンに更新し、以前は動作しなかった一部の PS4-slim を有効にしました。
- 標準の GoldHen stage2 と LightningMods バージョンを切り替えることができるチェックボックスを通じて、11.00 ファームウェアの Linux ペイロードのサポートが追加されました。私は標準のペイロード ローダーを維持し、ps4-linux ペイロードを stage2.bin に組み込まず、2GB、3GB、4GB バージョンの選択をユーザーに任せることを好みました。ペイロードを独自のハードコードされた ps4-linux ローダーに置き換えたい場合は、/data/data/it.deviato.droidpppwn/lib/linux.1100 ファイルを独自の stage2 で上書きします。
1.2.2
- stage2.bin ファイルを最新バージョンに更新し、9.60 用の GoldHen も利用できるようになりました。
- 他のシステムの場合、現時点では、各ファームウェアに含まれている stage2.bin は次のとおりです。
- From 7.00 to 8.52 -> PoC by EchoStretch
- 9.00 -> GoldHen by Sistr0
- 9.03 / 9.04 -> LightningMods + ps4-hen-vtx payload by Sistr0 (NEEDS TESTING)
- 9.50 / 9.51 / 9.60 -> GoldHen by Sistr0 (maybe only 9.60 working?)
- 10.00 / 10.01 -> GoldHen by Sistr0
- 10.50 / 10.70 / 10.71 -> LightningMods + ps4-hen-vtx payload by Sistr0 (NEEDS TESTING)
- 11.00 -> GoldHen by Sistr0
- いつものように、いつでも独自の stage1.bin と stage2.bin を内部ストレージまたは外部ストレージ (/storage/emulated/0 またはシンボリックリンク /sdcard が参照するもの) のルート フォルダーに置くことができます。
1.2.1
- 一部の古いシステムで誤った結果が得られていたデバイス アーキテクチャを認識する方法を変更しました。
- 32 ビット
armv7
用のバイナリが 1 つ追加されました。これで、共有 libc でビルドされた Android 4.4 用のバイナリと、Android 5.0 以降のarmv7l
/ armv8l
用の 1 つが静的にリンクされました。 - 他のすべてのバイナリを
real
静的バイナリで再コンパイルしました (以前のバージョンではエラーがありました) - いくつかのマイナーな機能強化
1.2
- Android x86 のサポートを追加し、32 ビット arm-v7a および 64 ビット arm-v8a ビルドを修正しました (bus_error はなくなりました)
- Termux 環境の代わりに Android NDK を使用してすべてのバイナリを再コンパイルしました (よりクリーンな結果)
- 優先ネットワークインターフェースを検索して選択するオプションを追加しました
- 古い Android バージョンのデバイスにバイナリがインストールされない問題を修正しました
1.1
- pppwn の分離されたバイナリを使用した 32 ビット arm-v7a のサポートを追加しました
- プロジェクト全体をリファクタリングして minSdk をバージョン 19 に下げ、Android KitKat 4.4 以降で実行できるようになりました。
- ペイロードのロードを可能にするために、サポートされているファームウェアの stage2.bin を Sistr0 リポジトリのファームウェアに置き換えました。
- 独自の stage2.bin を使用する可能性を追加しました
- その他の小さな修正
1.0