SoftBank/Lenovo 503LVのInterop/Cap 解除ができたので報告していく
Windows PhoneにはInteropやCapと呼ばれるセイフティー機構が備わっており、iOSのjailbreak (脱獄)やAndroidのroot奪取などのように、OSのセキュリティを突破されない仕組みが備わっています。 もちろん、セキュリティがあれば突破する人間がいることも確かで、Nokia/Microsoft Lumiaシリーズなどでは盛んにこのInterop/Capの奪取が行われていました。
ここを突破すると何があるのかというと、bootloaderのアンロックやEFIファイルシステムを書き換えることによる他OSのブート、小さいところではデジタル署名のないいわゆる野良アプリのインストールなどが可能になります。LumiaではAndroidやWindows 10Xのブートなどが実際に行われています。
503LVはそもそもそんなに表立って売られた機種でもない上に、日本ローカルの機種でもあるので、おそらくインターネット上にこれに関する情報は皆無です。ある程度その手順を確立したので、ここに記しておきます。
Windows Phone側は『設定』の 更新とセキュリティ>開発者向け から 開発者モード を有効にする必要があります。そして、PCと端末のUSB接続を維持したままにしてください。PC側は以下の前提条件を整える必要があります(リンクしていないものは自分で探してくださいの意です)。
- WP8.0 SDK Tools Lite Setup Av1.20.zip
- WP8.1 SDK Tools Lite Setup Av1.20.zip
- ndtk_acer_services.zip または ndtk_spkgs.zip
- NDTKに必要な i386.zip
- InteropTools v2.1.7.0.Legacy またはそれ以降 (GitHub)
- オプション: WPV XAP Deployer 2.0.7z (※あると野良アプリのインストールが劇的に楽になります)
まず、WP8.0とWP8.1のSDK Toolsを両方インストールします。どちらも中の .bat ファイルを実行する形式です。これが終わると、PC側からWPアプリをサイドロード(デプロイ)できるようになります。ここでWPV XAP Deployer 2.0を入れておくとさらに便利です。
次に、Interop Toolsをインストールするのですが、中にある .appxbundle ファイルを端末のエクスプローラから実行する・WP 8.0 SDK Toolsの『Application Deployment』を使う・WPV XAP Deployerを使う、の3つのやり方があります。署名は付いているので、最初に挙げた端末のエクスプローラからの実行でもかまいません。
次に、i386.zip と ndtk_spkgs.zip (または ndtk_acer_services.zip)を同じフォルダに解凍します。以下のようなディレクトリ構造になると思います。
- i386
- i386.zip の中の i386 フォルダのファイル群
- ndtk_spkgs
- ndsk_spkgs.zip の中のファイル群
端末側でInterop Toolsを立ち上げ、左側の三本線メニューから Unlock > Interop Unlockと辿ります。そして、[Allow the installation NDTK on any device] を押します。
ここで、管理者権限のPowershellまたはコマンドプロンプトで、以下のようなコマンドを実行します。
> cd (作成したフォルダのパス)
> .\i386\iutool.exe -V -p ".\ndtk_spkgs"
しばらく放っておくと端末が再起動し、歯車の回った状態になると思いますので、起動してくるまで待ちます。
起動したら、newndtksvc.dll と ndtksvc.dll を端末のDocumentsフォルダにコピーします。
その後、再びInterop Toolsを立ち上げ、先ほどと同じ画面を開きます。そして、Interop/Cap Unlock, New Capability Engine Unlock, Full Filesystem Access の3つをONにすると、アンロックできるはずです。
その後、[] を押してレジストリへの書き込みを反映させられるように戻します。
これで作業としては完結し、たとえばTweakからカメラサウンドのON/OFFをできるようにしたりとか、ESP領域を覗くとかができるようになります。