2011/02/11

SuperOneClick v1.6.5 (Get Unlock Code編)

SuperOneClick の詳細の続き。
今回は Get Unlock Code ボタンをワンクリックすると何が起きるのかを解説してみる。


要 root。理由は最後に述べるが、SC-02B では実行しても意味がない。
ここで使用されている、nv_data.bin には製品番号が含まれているため、各個体固有のものである。
結構重要なファイル。くれぐれも安易に書き換えたりしないこと。

順に処理を追っていく。

1. ADB Server の停止と起動
環境によっては Android SDK がインストールされていたりして、既に別バージョンの ADB Server が起動しているかもしれないので、ADB Server を停止して SuperOneClick に同梱されている ADB から ADB Server を起動する。

2. nv_data.bin のバックアップ
/sdcard/ の nv_data.bin を削除する。
/efs/nv_data.bin の内容を /sdcard/nv_data.bin に書き出す。

3. クライアント上での処理
/sdcard/nv_data.bin をクライアント上にコピーする。
これ以降はクライアント上での処理。
nv_data.bin を読み込む。
0x18146f バイト目(アドレスでは 0x18146e)から8バイト分を読み込んで Unlock Code として表示する。
読み込んだ8バイトが FFFFFFFF の時はエラー。

これでおしまい。
色々調べてみると、取得される8バイトが FFFFFFFF の時は、nv_data.bin を書き換えたりしてロックを解除するようだ。Galaxy S 国際版では、nv_data.bin のサイズが 2MB くらいあるのに対し、SC-02B では 512KB しかない。サイズが小さいため、アドレス 0x18146e などというものは存在しない。従って実行しても意味がない。
なお、各個体の製品番号は購入時の箱に書かれている。また、nv_data.bin を書き換えたりしていなければ本体のキーパッド(電話-キーパッド)で、*#06# をダイヤルすると表示される。
本体のSIMロック状況は、*#7465625# で表示される、ネットワークのロックで分かるようだ。

0 件のコメント:

コメントを投稿