Windows Vista  
疑問 Windows Vistaのライセンス認証(アクチベーション)は回避可能なのだろうか?

 SLP(System Locked Pre-installation)を使用する方法!

調査 Windows Vistaにはライセンス認証(アクチベーション)があり自作パソコンユーザーには何かと不便なのでライセンス認証の回避方法を調査します。(^^;;;

メーカー製のWindows Vistaパソコンには認証が必要ないのでその原因を調査してみます。

仕組み的にはWindowsXPと同じと思われますが、マイクロソフトのホームページにWindows Vistaについての記述を見つけることができませんでした。
唯一見つけたのはこちらです。
”OEM コンピュータの KMS ライセンス認証”と言うところの記述をみると BIOSのACPI_SLICテーブルの記述とWindows Vista上の有効なWindowsマーカーが一致する必要があるようです。
まあ、WindowsXPと同じってことでしょうか?

では、実際にメーカー製のWindows Vistaパソコンで確認してみます。(今回は SOTECのBJ3312 Windows Vista HomeBasic搭載パソコンで確認してみます。)
とりあえず、コマンドプロンプトを管理者として実行し、下記を実行してプリインストール状態を確認します。
 cscript c:\windows\system32\slmgr.vbs -dlv
説明のところに”Vista,OEM_SLP channel”と記載されていますね〜〜。(^^)




まずは、KeyfinderでSLP用のプロダクトキーを確保し、有効なWindowsマーカーを見極める為、Cドライブをバックアップします。

最初に、Windows Vista HomeBasicをプロダクトキーを入力せずにクリーンインストールします。
次にコマンドプロンプトを管理者として実行し、下記を実行して状態を確認します。
 cscript c:\windows\system32\slmgr.vbs -dlv
当然ですが、”Vista,RETAIL channel”と認識されライセンス認証はされていません。


では、コマンドプロンプトを管理者として実行し、先に確保したSLP用のプロダクトキーに変更します。
 cscript c:\windows\system32\slmgr.vbs -ipk *****-*****-*****-*****-BK3JF


コマンドプロンプトを管理者として実行し、下記を実行して状態を確認します。
 cscript c:\windows\system32\slmgr.vbs -dlv
Vista,OEM_SLP channel”と記載が変更されましたが、まだ有効なWindowsマーカーがありませんのでライセンス認証はされていませんね。


有効なWindowsマーカーを発見すべく、バックアップしてあるCドライブのファイルに変更していきます。
変更すること数時間・・・・・・・・・・・やっと目的のファイルが見つかりました。
下記のファイルを入れ替えると(入れ替えはセーフモードではなく通常モードで可能ですが、”Software Licensing”サービスの停止とファイルの所有権、アクセス権の変更が必要です。)

 C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat

おおっ!ライセンス認証に成功しました。


結論!
有効なWindowsマーカー(メーカー情報)は下記ファイルに書いてある様です。
 C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareLicensing\tokens.dat




<補足1>
では上記ファイルを他のパソコンで試して見ましょう。
まず、通常のWindows Vista HomeBasicを上記SLP用プロダクトキーでインストールし tokens.datをSOTECのBJ3312のものに変更します。
結果は、当然ですがライセンス認証(アクチベーション)を要求されます。

では、BIOSを改変してみましょう。(方法はWindowsXPと同じです。ここ参照)
残念ながら、Manufacturer NameをSOTECのBJ3312と同じ”SOTEC CO., LTD.”に変更してもライセンス認証に成功することができませんでした。
今回の敵は手ごわいですね。(T_T)

  ライセンス認証の回避 SLPの言葉
SOTEC ”SOTEC CO., LTD.”は不可  


<補足2>
SOTECのBJ3312でWindows Vistaの他のバージョンの場合を試してみましょう。
必要なものは
 @そのバージョン用のSLPキー
 AそのバージョンのSLP用tokens.dat
ですが、ちょうどいろいろなバージョンのSLPキーが流出しましたね〜(^^)
Home Basic : 2WP98-KHTH2-KC7KG-4YR37-H8PHC
Home Premium : BH626-XT3FK-MJKJH-6GQT2-QXQMF
Business : 72PFD-BCBK8-R7X4H-6F2XJ-VVMP9
Ultimate : 6F2D7-2PCG6-YQQTB-FWK9V-932CC

問題はtokens.datですが、海外の情報より”OEM Certificate”の情報だけをtokens.datより抜き出せば各バージョンのWindows Vistaに利用できることがわかりました。

方法
1. SOTEC用Windows Vista HomeBasicのtokens.datをバイナリーエディタで開き”OEM Certificate”を検索する。
2. 見つかった”OEM Certificate”の直上の”<?xml version="1.0" encoding="utf-8" ?> ”と言う文字列を検索する。
3. 見つかった”OEM Certificate”の直下の”</r:license>”と言う文字列を検索する。
4. 2と3より見つけた文字列に挟まれるデータを2と3の文字列ごと別名保存する。
  例 oemcert_sotec.xrm-ms

では、早速SOTECのBJ3312にWindows Vista Ultimateを上記SLPキーでインストールします。
まずは、インストール直後の状態をコマンドプロンプトを管理者として実行し、下記を実行して確認します。
 cscript c:\windows\system32\slmgr.vbs -dlv
当然ですが、まだライセンス未認証状態ですね。

では、”OEM Certificate”情報をコマンドプロンプトを管理者として実行し、下記を実行して適用します。
 cscript c:\windows\system32\slmgr.vbs -ilc <右記ファイルの保存場所>oemcert_sotec.xrm-ms

再度、コマンドプロンプトを管理者として実行し、下記を実行して状態を確認します。
 cscript c:\windows\system32\slmgr.vbs -dlv
無事にライセンス認証が通りました。(^^)


<補足3>
海外の情報でWindows VistaのSLPのBIOS変更方法が記載されていましたので試してみます。
必要なものは
 @BIOS編集ツール
 ABIOSのACPI_SLICテーブルに記載されているOEM ID,OEM Table ID
 BBIOSのACPI_SLICテーブルの内容(ACPISLIC.bin)
のようです。

@についてはAward BIOSの場合、CBROM 2.19, MODBIN6 2.01.01,バイナリーエディタが必要とのことです。
Aについては後述するとして、BについてはSOTECのBJ3312より取り出します。
幸いなことにSOTECのBJ3312のマザーボードはECS 945G-M3 v3.0&Award BIOSな為、上記BIOS編集ツールが使えました。
  1. awardflash.exeにてBiosをバックアップします。
 ここでは、バックアップしたBiosを Sotec_Bios.BIN とします。
2. CBROM 2.19にてACPITBL.BINを取り出します。
コマンドプロンプトにて
 CBROM219.EXE Sotec_Bios.BIN /acpitbl extract
を実行すると、ACPITBL.BINができます。
3. ACPITBL.BINをバイナリエディタで開き”SLIC”の文字列を検索します。
4. 上記で見つかった”SLIC”の文字列から、直下のFACP,DSDT,FACS,MCFGなどの文字列までを別名で保存します。 例 ACPISLIC.BIN
今回のBiosは”SLIC”の文字列から”MCFG”の直前までを保存しました。(下記選択範囲です。)
これが、Bのファイルとなります。

AについてはACPITBL.BINより  
   OEM ID :SOTEC (バイナリ値:53 4F 54 45 43 00)
OEM Table ID :SOTECDT (バイナリ値:53 4F 54 45 43 44 54 00)
とわかりました。


では、早速 自作機のBiosを改変してみます。
今回の犠牲者は古いマザーですが EPoXのEP-4G4A です。(このBiosは512KBのAward BIOSです。)
説明上、このBios名を4G4A2B04.BINとします。
  1. Biosファイルに”SLIC”の文字列を追加します。
MODBIN6.EXEを実行して4G4A2B04.BINを開きます。

次に、MODBIN6.EXEを実行すると、MODBIN6.EXEのあるところにORIGINAL.BINができますので このファイルをバイナリエディタで開き、”RSDT”の文字列を検索します。

RSDT”の文字列の後の文字を”SLIC”に書き変えて既存のACPIの機能を乗っ取るのですが、乗っ取られた機能が無くなりますので危険が伴います。
”SRAT”が一番安全で”MCFG”,”APIC”の順に安全とのことです。
今回は”APIC”を”SLIC”に変更します。

ORIGINAL.BINの保存後、MODBIN6.EXEを保存して終了します。(Alt+Fでメニュに行き保存を選択)

2. BiosファイルにOEM ID,OEM Table IDとACPISLIC.BINを追加します。
まず、1で編集したBiosファイル(4G4A2B04.BIN)よりCBROM 2.19にてACPITBL.BINを取り出します。
コマンドプロンプトにて
 CBROM219.EXE 4G4A2B04.BIN /acpitbl extract
を実行すると、ACPITBL.BINができます。

ACPITBL.BINをバイナリエディタで開きOEM ID,OEM Table IDを追加します。
”RSDT”の文字列を検索し(大抵一番上にありますが・・)、”RSDT”の後ろ7バイト目からをOEM ID,OEM Table IDの順に変更し保存します。

次に上記で編集したACPITBL.BINにACPISLIC.BINをバイナリ形式で追記します。
バイナリエディタでもできますし、コマンドプロンプトのcopyコマンドでも可能です。
コマンドプロンプトで行う場合は
 copy /b ACPITBL.BIN + ACPISLIC.BIN ACPITBL.BIN
を実行します。

最後に、上記で作成したACPITBL.BINをもとのBiosファイル(4G4A2B04.BIN)に書き込みます。
コマンドプロンプトにて
 CBROM219.EXE 4G4A2B04.BIN /acpitbl ACPITBL.BIN
を実行すると、SLP対応のBiosファイル(4G4A2B04.BIN)が完成しました。

早速Biosを更新してWindows Vistaを立ち上げましたが、OSが起動しません。
上記で乗っ取った”APIC”の影響でOSの再インストールが必要になります。
気を取り直して、Windows Vista UltimateをSLPキーでインストールし、上記で述べた”OEM Certificate”情報を追加します。

おおっ!ライセンス認証に成功しました。(^^)

<補足3+>
GIGABYTE GA-8I915G Duo でも試してみました。(このBiosは384KBのAward BIOSですが・・・・ AMIのフラッシュユーティリティを使います。)

方法は上記と一緒ですが乗っ取るACPI機能のうち、”MCFG”ではライセンス認証に失敗、”APIC”で成功しました。(このマザーもOSの再インストールが必要でした。)


また、流出しているASUSのノート用のACPISLIC.BINと”OEM Certificate”情報でも成功しました。


まとめると('070218更新)
  ライセンス認証の回避 OEM ID
OEM Table ID
ACPISLIC.BIN OEM Certificate
SOTEC SOTEC (53 4F 54 45 43 00)
SOTECDT (53 4F 54 45 43 44 54 00)
必要 必要
ASUS _ASUS_ (5F 41 53 55 53 5F)
Notebook (4E 6F 74 65 62 6F 6F 6B)
必要 必要
Acer ACRSYS (41 43 52 53 59 53)
ACRPRDCT (41 43 52 50 52 44 43 54)
必要 必要
Hewlett
Packard
HPQOEM (48 50 51 4F 45 4D)
SLIC-MPC (53 4C 49 43 2D 4D 50 43)
必要 必要
Lenovo LENOVO (4C 45 4E 4F 56 4F)
TC-2P (54 53 2D 32 50 20 20 20)
必要 必要
NEC NEC (4E 45 43 20 20 20)
ND000146 (4E 44 30 30 30 31 34 36)
必要 必要
NEC (4E 45 43 20 20 20)
ND000147 (4E 44 30 30 30 31 34 37)
必要



戻る




PRESENTED by hiroji