
iPhone開発チームがUltraSn0w Unlockをアップデート、PurpleSn0wについて語る
- Lamiyi
- 0
- rhahw
iPhone開発チームは、PurpleSn0wの優れたアイデアを取り入れてUltraSn0wのロック解除機能をアップデートしました。また、PurpleSn0wとUltraSn0wの仕組みについても非常に詳細な説明を提供しています。
-----
一昨日、geohotという人物が「purplesn0w」というプログラムをリリースしました。これは、私たちのultrasn0wソリューションよりも優れたロック解除方法だと主張しています。彼は親切にもソースコードを提供してくれたので、当然ながら私たちはそれを分解して、彼の主張を検証しようとしました。;) 調べてみると、彼は非常に優れたアイデアを思いついたことがわかりました。例えば、ベースバンドコードの実際のテキストをRAMにコピーし、MMUとページテーブルを使ってベースバンドに元のブートROMの一部であるかのように見せかけるというものです。もちろん、yellowsn0wやultrasn0wと同様に、このコードはベースバンドを再起動するたびに再読み込みする必要があります。しかし、この方法の利点は、ロック解除ペイロードの開発がはるかに簡単になることです。実際、geohotはAnySimとBootNeuterで同じペイロードを使用していました。私たち自身も以前にこのアイデアを検討しましたが、最終的にyellowsn0w/ultrasn0wペイロードで発生した同じ問題に対する回避策を見つけました。これら 2 つのコードはベースバンドに対して全く同じ効果をもたらしますが、geohot のエクスプロイトは 1 MB サイズの任意のメモリブロックを上書きするという点が異なります。ベースバンドには合計 8 MB のメモリがあり、そのすべてが使用可能です (まだ計算していない 485212 バイトを除きますが、それでも 1 MB 未満です)。つまり、最終的には geohot が使用しているメモリ領域が破損し、ベースバンド コードも 1 MB 破損します (次回の再起動まで)。これはいつ発生するのでしょうか? 日常的な使用において問題になるのでしょうか? まだ十分な調査を行っていないため、わかりません。しかし、yellowsn0w/ultrasn0w ペイロードで同じ処理を破損なく実行できるのに、なぜリスクを冒す必要があるのでしょうか?
彼が思いついた2つ目の新しいアイデアは、デーモンを使うのではなく、CommCenterにパッチを当てるというものでした。当初、このアイデアは私たちにとってかなり受け入れ難いものでした。バイナリパッチは扱いにくく、メンテナンスも困難です(彼が3G S版しか作らず、3G版も作らなかった理由の一つはそこにあると考えています)。さらに、デーモンを使うとバッテリー寿命が短くなるという理由は事実誤認です。オペレーティングシステムのコースを受講したコンピュータサイエンスの学生なら誰でも、スリープ状態のタスクはCPUリソースも電力も全く消費しない(コンテキストスイッチ時にスキップされるだけだ)と言うでしょう。そうです、「少しだけ」電力を消費するわけではなく、全く電力を消費しないのです。しかし、ultrasn0w 0.6には、3G SでSTKリフレッシュコマンドがベースバンドをクラッシュさせるという問題がありました。これにより、ベースバンドが頻繁に起動しては再起動を繰り返していました。これは確かに電力を消費するため、これまで発生していた問題の原因となっている可能性があります。ultrasn0w 0.8ではこの問題は修正されるはずでしたが、完全には修正されなかったかもしれません。これは、使用した STK リフレッシュが本質的に信頼性の低いものであったためです。しかし、SIM を再挿入する手間を省くために必要だと考えていました。その点では間違っていました。geohot の方法では、CommCenter がロック状態をポーリングする前にロック解除を実行できることが示されています。ポーリング後ではなく前に実行すれば、STK リフレッシュは不要になります。ただし、ポーリング前にこれを行う唯一の方法は、CommCenter を変更することです。私たちは、MobileSubstrate を使用して変更を実行することで、悪い状況を最大限に活用しようとしました。これにより、実際のバイナリに触れることなく、CommCenter の動作を変更できます。また、パッチの場所を動的に特定する方法も使用して、3G と 3GS の両方で機能するようにしました (更新頻度を減らす必要があります)。また、hactivated された電話でもロック解除が機能するように別の方法で実行しています (purplesn0w とは異なります)。このアップデートはCydiaからultrasn0w 0.9として入手可能です。geohot氏には改めてシーンへの貢献に感謝いたします。purplesn0wが正しい道だとは思っていませんが、ultrasn0wの改善に間違いなく役立っています!
PS geohot さん、本当に、ふざけるのはやめて、代わりにブート ROM を見てください。ありがとう。=P
-----
UltraSn0w を使用して iPhone のロックを解除する方法については、ここを参照してください。

Related Posts

Apple、SafariにAI検索を導入予定
