
GeoHotがiPhone 3GSのロック解除用ソースコード全文を公開
- Lamiyi
- 0
- rhahw
GeoHot は、iPhone 3GS のロック解除を実行する方法についての情報を投稿し、また PurpleSn0w のソースコード全体を投稿しました。
-----
約1年前の今日、at+stkprofのエクスプロイトを発見しました。当時はペイロードを書くのに3日間も苦労しました。しかし、リバースエンジニアリングの腕が足りず、結局うまくいきませんでした。そこで、このエクスプロイトを12月まで保管し、yellowsn0wで使えるように開発チームに渡しました。
1年後、ペイロードと配信システムを1日で作成しました。そして、素晴らしいペイロードです。理想的にはフラッシュメモリのロックを解除したいのですが、どうやら適切な署名チェックが行われているようなので、それは難しいでしょう。そこで、次善策としてpurplesn0wを使うことにしました。パッチを適用したいページをメモリの未使用領域にコピーします。メモリ上でパッチを適用します。そして、MMUを使ってフラッシュメモリのページをマッピングし、パッチを適用したメモリページをその場所に再マッピングします。
新しいiPhoneは実際にはロック解除されていません。アクティベーションによって、そのSIMでベースバンドを使用できるようにするチケットが作成されます。電話のロック状態は実際にはAppleのサーバーにあります。ロック解除はすべてのSIMで認証されます。ロックはAT&TのSIMでのみ認証されます。幸いなことに、このチケットシステムは、ペイロードの配信とパッチ適用後のコードの再実行を一括して簡単に行う方法を提供します。また、ベースバンドのリセット時にチケットが既に配信されているため、バッテリーを大量に消費する別のデーモンを作成する必要はありません。私は、このために既に設計されているデーモン、lockdowndを使用しています。commcenterへのパッチを適用することで、チケット配信時にペイロードを実行することができます。そして、アクティベーションレコードへのパッチを適用することで、ペイロードを含めることができます。つまり、既存のAppleの仕組みを使って、必要なときにロック解除できるのです。
今思えば、Commcenterにパッチを当ててペイロードを送信すればよかった。そうすればHacktivationも問題なく動作したはずだ。まあ、明日はまた別の日だ。
これがソースです。全部です
。----
続きを読む

Related Posts
