MSU ファイルを Windows 2000で解凍してみる実験

Windows Vista以降のOSは、拡張子が .MSU の形式で圧縮されています。
これを無理やり解凍できなくはないのですが、試しに KB939207を解凍してみると
expandex
こんな風に 訳がわからないファイルになってしまいます。

というわけで、Windows 2000や、XPでこれらのファイルを解凍する方法はないか模索してみました。


KB828030KB928636によれば ある時期から、Windowsアップデートパッケージは IPD(パッケージ間デルタ)テクノロジー対応の ファイルになっていて、さらに、 Vistaのアップデートパッケージは下位互換がない拡張がされているそうです。
でも、VistaのEXPANDを使えば解凍することが出来るような記述があります。
手元に、 Windows 7 RCがインストールされた HDDがあるので、それを使ってみることにしました。

2009/04/20  10:23       <DIR>          ja-jp (expand.exe.mui)
2008/12/13  14:01              256,512 dpx.dll
2009/06/15  01:57               53,248 expand.exe
2007/04/16  21:44              907,024 Kernel2k.dll
2009/04/16  22:50              149,504 Kernel32.dll
2008/12/13  14:02              305,152 msdelta.dll
2008/12/13  14:02               35,328 mspatcha.dll

必要なファイルは上記の通り。

日本語化して使う場合は ja-jpフォルダとその中に expand.exe.mui ガ必要で、Windows2000の場合は、kdwのkernel32 を簡易インストールする必要があります。(XPや2003は不要)

D:\AIK>expand test1\Windows6.0-KB939207-x86.cab test3 -f:*
Microsoft (R) File Expansion Utility  Version 6.1.7000.0
Copyright (c) Microsoft Corporation. All rights reserved.

Adding test3\update.mum to Extraction Queue
Adding test3\x86_microsoft-windows-directshow-core_
31bf3856ad364e35_6.0.6000.20624_none_a501f57009e9da7c.
manifest to Extraction Queue
Adding test3\x86_microsoft-windows-enhancedvideorenderer_31bf3856ad364e35_6.0.60
00.20624_none_8e343b3ae88a2e04.manifest to Extraction Queue
Adding test3\x86_2a5e42bb3f7f2ac4ee5d82c5d4df0f29_
31bf3856ad364e35_6.0.6000.20624_none_a583125dc32332d8.
manifest to Extraction Queue
Adding test3\x86_bf8289020a53eb5b951b04ed2f835b29_
31bf3856ad364e35_6.0.6000.20624_none_164f8008255d69ee.
manifest to Extraction Queue
Adding test3\update.cat to Extraction Queue
Adding test3\x86_microsoft-windows-enhancedvideorenderer_31bf3856ad364e35_6.0.60
00.20624_none_8e343b3ae88a2e04\evr.dll to Extraction Queue
Adding test3\x86_microsoft-windows-directshow-core_31bf3856ad364e35_6.0.6000.206
24_none_a501f57009e9da7c\quartz.dll to Extraction Queue

Expanding Files ....

Expanding Files Complete ...
8 files total.

日本語化していると

D:\AIK>expand test1\Windows6.0-KB939207-x86.cab test3 -f:*
Microsoft (R) File Expansion Utility  Version 6.1.7000.0
Copyright (c) Microsoft Corporation. All rights reserved.

test3\update.mum を展開キューに追加しています
test3\x86_microsoft-windows-directshow-core_31bf3856ad364e35_
6.0.6000.20624_none_a501f57009e9da7c.manifest を展開キューに
追加しています
test3\x86_microsoft-windows-enhancedvideorenderer_31bf3856ad364e35_6.0.6000.20624_
none_8e343b3ae88a2e04.manifest を展開キューに追加しています
test3\x86_2a5e42bb3f7f2ac4ee5d82c5d4df0f29_31bf3856ad364e35
_6.0.6000.20624_none_a583125dc32332d8.manifest を展開キューに
追加しています
test3\x86_bf8289020a53eb5b951b04ed2f835b29_
31bf3856ad364e35_6.0.6000.20624_none_164f8008255d69ee.
manifest を展開キューに追加しています
test3\update.cat を展開キューに追加しています
test3\x86_microsoft-windows-enhancedvideorenderer_
31bf3856ad364e35_6.0.6000.20624_none_8e343b3ae88a2e04\
evr.dll を展開キューに追加しています
test3\x86_microsoft-windows-directshow-core_31bf3856ad364e35_
6.0.6000.20624_none_a501f57009e9da7c\quartz.dll を展開キューに
追加しています

ファイルを解凍しています...

ファイルの解凍が完了しました...
合計 8 ファイル

こんな感じですねexpandex2
ちゃんと、解凍できて quartz.dllと evr.dllが取り出せました。

いや、Microsoft DirectShow の脆弱性により、リモートでコードが実行される というニュースがあったので、 Vista版の DLLが使えないかな?と思ったんですけどね、単に、VistaはQuickTimeに関するコンポーネントが削られてるだけで、無効にしてしまえば、Vistaと全く同じになる事が分かったので、意味がないことが判明しました。

ちなみに、GUIベースでは wusa.exe と言うファイルが使われるのですが、こちらは、WINAPI Ver 6.xを使いまくっているのでちょっと利用は無理そうです。

参考リンク:
Windows Vista 用の Microsoft Update スタンドアロン パッケージの内容を展開できない
Expand のコマンド ライン オプション
Windows 製品アップデート パッケージから更新されたファイルを表示または抽出できません。
Microsoft DirectShow の脆弱性により、リモートでコードが実行される
マイクロソフト セキュリティ アドバイザリ: DirectShow 脆弱性により、リモートでコードが実行される.

TrackBack:
マイクロソフト、「DirectX」脆弱性への対応を明らかに:ニュース - CNET Japan
ie8 + Sleipnir の相性がはげしく良い件について :: Drk7jp

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です