MSU ファイルを Windows 2000で解凍してみる実験
Windows Vista以降のOSは、拡張子が .MSU の形式で圧縮されています。
これを無理やり解凍できなくはないのですが、試しに KB939207を解凍してみると
こんな風に 訳がわからないファイルになってしまいます。
というわけで、Windows 2000や、XPでこれらのファイルを解凍する方法はないか模索してみました。
KB828030 や KB928636によれば ある時期から、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 Expanding Files .... Expanding Files Complete ... |
日本語化していると
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 を展開キューに追加しています ファイルを解凍しています... ファイルの解凍が完了しました... |
こんな感じですね
ちゃんと、解凍できて 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
Comments