
GeoHotがPurpleRa1nの脱獄の仕組みを解説
- Lamiyi
- 0
- rhahw
GeoHot は TheiPhoneWiki に、purplera1n iPhone 3GS の jailbreak の仕組みを説明するエントリを追加しました。
以下に、このエクスプロイトが何を行うかについての段階的な説明を示します。
-----
* purplera1n は iTunesMobileDevice を使用して回復コマンドを送信します
。 * 回復(iBoot)に入ると、IBoot 環境変数オーバーフロー エクスプロイトを送信します
。 * エクスプロイトは、ペイロードを実行する電話に「geohot」コマンドを追加します。
* 「geohot」コマンドが実行され、制御が iboot からペイロードに渡されます
。 * purplera1n クライアントは終了します。
ペイロード内部
* ペイロードはデフォルトの環境変数リング バッファーを復元し、環境を nvram に保存します (自動ブートを true に設定します)
* 署名されていない img3 をロードし、タグを気にしないように iBoot にパッチを適用します
* purplera1n 画像をロードします (ペイロードとともに送信)
* nor patcher が起動します
* llb は復号化され、パッチが適用され、サイズが 0x24200 に増加されます。これは常駐の 0x24000 セグメント オーバーフロー エクスプロイトです
* 小さなローダー コードが LLB の 0x20000 に配置され、それをロードしてスタックを修正します
* iboot が復号化され、パッチが適用されます
* その他はすべてそのまま読み込まれます * 書き
戻されることも、パッチが適用されることもありません
* カーネルがロードされ、復号化され、パッチが適用されます
* RAM ディスクがロードされ (ペイロードとともに送信され)、RAM ディスク領域 0x44000000 に移動され、パッチが適用されたカーネルが最後に追加されます
* パッチが適用されたカーネルが起動されます
* 制御がペイロードから RAM ディスクに渡されます
ramdisk 内部
* launchd が実行され、ここですべての処理が行われます
* /dev/disk0s1 がマウントされます
* fstab とサービスがここで上書きされ、それぞれ disk0s1 の書き込みと afc2 が許可されます
* Freeze.app が転送され、Freeze.app ローダーに SUID ビットが設定されます
* パッチされたカーネルが ramdisk ブロック デバイスの最後から読み取られ、ファイル システムに書き込まれます
* ramdisk が完了し、再起動します...
ジェイルブレイクされた電話として再起動
-----
続きを読む

Related Posts
You may also like
![サムスンの反アップル・スーパーボウルCM [動画]](/assets/images/default-thumbnail.jpg)