2011年5月15日日曜日

WP7 unlock解説

Windows Phone 7のアンロックの仕組みを調べてみた。
アンロックといっても通常使われるどのキャリアでも使えるようにするSIMアンロックではなく、勝手アプリをインストールできるようにするアンロック、つまりiPhoneで言うJBみたいなものである。Windows Phone 7の場合はデベロッパー登録(年間1万円弱)を払えば勝手アプリをインストールできるようになる。これはアプリケーションをいろんな人に作ってもらえるようにするためである。iOSも同様にインストールできるようになるが、JBが簡単すぎるからやる気が払う気がおこらない。結構iOSは出来上がってるからアップデートを必ずしなくてもいいが、wp7の場合はまだ発展途上だからアップデート来たら必ず当てていきたい。そうなると穴が塞がれてアンロックできなくなったらいやなので、ここは1万円払ってでも公式アンロックしておきたいものだ。

基本的にアンロックするには、レジストリを1バイト変更してやるだけでいい。


[HKEY_LOCAL_MACHINE\Comm\Security\LVMod]
    "DeveloperUnlockState"=dword:1

これで終わりなのだが、当然WindowsPhoneにはレジストリエディタとかはないので、そのままでは
変更できない。これを行うのがChevronWP7だ。

ChevronWP7は、HTTPSサーバーを起動し、Windows Phoneが問い合わせをする際に利用するドメインをhostsファイルで自分自身に向けて、認証してしまう。httpsサーバーなので、証明書が必要になり、この証明書を前の記事で導入させているのを思い出してほしい。ちなみにこの証明書はちゃんとした機関から発行されているわけではないので、本来ならエラーになるはずなのだ。

ChevronWP7が利用できるのは初期の7004及び7008だけである。ここで更にアップデートをかけて最新の7392まで上げると、この穴がふさがってしまう。どうやら、本来ならエラーになるはずところがエラーになっていなかったバグを修正されたみたいで、ChevronWP7ではアンロックが出来なくなる。
またアップデート時に再度DeveloperUnlockStateが正しいかサーバーに確認しにいって、違ったらロックをかけてしまうようだ。

で、この最後の再度サーバーに確認しに行く作業を行わせないことで、ロックがかからない状態でのアップデートが可能になる。これもレジストリ二ついじるだけだ。


[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg]
"PortalUrlProd"=""
"PortalUrlInt"=""

本来ここには


[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg]
"PortalUrlProd"="https://developerservices.windowsphone.com/Services/WindowsPhoneRegistration.svc/01/2010"
"PortalUrlInt"="https://developerservices.windowsphone-int.com/Services/WindowsPhoneRegistration.svc/01/2010"


みたいな感じのレジストリが入っていた。HTC及びLGでは簡単に戻すことが可能だが、SAMSUNGは戻すのが難しいみたいで、リセットするしかないとのことだった。

0 件のコメント:

コメントを投稿