Vectorからダウンロード目的
変更点10/12/2004更新分
- 古いWindows95では動作しなかった(たぶん)
- バージョン番号のないDLLの場合にエラーになっていた
- FileVersionだけでなくProductVersionも参照する
- DebugModeをつけた([Debug]DebugMode=1)
10/2/2004更新分
- Windows XP における sxs.dll も調査対象とした
- 読取専用ファイルも置き換えを可能にした
- Windowsが保護しているファイルは更新しない(未検証)
- 古いVgx.dll(バージョンが5以下)の場合、メッセージを変更した
- 管理者権限があるかどうかを表示
- MSO.DLLのバージョンが3つの数で構成されるときにエラーになっていた
- サイレントモードを作成(パラメータ /q または /b)
- サイレントモードでないときはファイルを更新する前に確認ダイアログを出す
- VGX.DLL、MSO.DLLは、改善されたバージョンがひとつでも存在すればウィンドウズアップデートやオフィスアップデートが必要というアラームを出さない
- GDIPLUS.DLLは発見時に画面表示、その他はあとでまとめて表示
- メッセージの変更(警告に「■」を追加、個々にアップデートを促すメッセージ削除、など)
- 本プログラムのディレクトリおよびWindowsディレクトリの$NtUninstallサブディレクトリは検索しない
- WindowsとIEのバージョン名表示
マイクロソフトの作成したGDI+プログラム(gdiplus.dll)に、悪意のあるJPEGファイルを表示させたときに任意のコードを実行される脆弱性があると発表されました。マイクロソフトからはウィンドウズアップデートやオフィスアップデートを実行するプログラムが提供され、また、このDLLを使う「マイクロソフトの製品」がインストールされているかどうかを判定するプログラムも、提供されています。使い方
しかし、問題のgdiplus.dllはマイクロソフトの製品に含まれるだけでなく、マイクロソフトから提供を受けたDLLを組み込んだプログラムがサードパーティから供給されています。残念ながらマイクロソフトでは、どのサードパーティがその製品にこのDLLを組み込んでいるかを把握できないためか、その対応は製品を販売したメーカーに任されています(マイクロソフトのJPEG 処理 (GDI+) のセキュリティ更新プログラムでコンピュータを更新する方法では「ファイルの検索から "gdiplus.dll" を検索し、マイクロソフト以外のアプリケーションで gdiplus.dll を含んでいる製品がありましたら製造元にご確認ください。」と発表しています)。ユーザの立場から見ると、自分のパソコンにインストールされているソフトのどれがこの脆弱性の影響を受けるのか、個々のソフトについて自分で調べなければいけないということになるわけです。
こんなことを一般ユーザにさせることは非現実的ですし、管理者が数百台のパソコンについて行うことは不可能です。そこで、今回の脆弱性の影響を受けるコンポーネントをパソコンの中から探し出し、可能ならば自動更新するというソフトを作成しました。マイクロソフト セキュリティ情報 (MS04-028) : よく寄せられる質問に書かれている情報に基づき、GDIPLUS.DLL、MSO.DLL、VGX.DLLのファイルバージョンを調べ、GDIPLUS.DLLの一部のバージョン(5.1.3102.1355 より前のすべてのバージョン)については、この脆弱性の影響を受けないとされる5.1.3102.1360に更新させることができます。ただし、影響を受けないバージョンは、5.1.3102.1360だけでなく5.1.3102.1355もあり、またマイクロソフトがこのように更新するべきだといっているわけではありませんので、更新した結果関係するプログラムが正常に動作するかどうかは保証外です。
次の表は上記マイクロソフトのページや、HotFix掲示板の情報などから一般的なアプリケーションについてまとめたものです。開発用の製品やマイクロソフトの画像処理ソフトは省略しています。水色のセルはウィンドウズアップデートで更新すべきもの、黄色のセルはオフィスアップデートで更新されるものです。
Windows XP Windows 2000以前 Windows OS Gdiplus.dll
5.1.3102.1355 より前→5.1.3102.1360 または 5.1.3102.2180
sxs.dll
??→5.1.2600.136 または 5.1.2600.1363該当コンポーネントなし IE 6 SP1 OSに含まれるGDI+ Vgx.dll
6.0.2800.1411 より前→6.0.2800.1411またはそれ以降IE 6 OSに含まれるGDI+ サポート対象外(→IE6 SP1) IE 5.01 SP2-SP4 OK (Windows 2000) IE 5.5 SP2 OK (Windows Me) Office 2003
Visio 2003
Project 2003Gdiplus.dll
6.0.3260.0→6.0.3264.0 およびそれ以降(いずれもSP1が提供されている)Office XP
Project 2002Mso.dll
10.0.6714.0 より前→10.0.6714.0 およびそれ以降Visio 2002 Mso.dll
10.0.6714.0 より前→10.0.6714.0 およびそれ以降左記に加えてGdiplus.dll
?? → 5.1.3102.1360Powerpoint Viewer 2003 Gdiplus.dll
6.0.3260.0 → ?? (更新プログラムが10/8/2004になって公開された)Visio Viewer 2003 Gdiplus.dll
?? → 5.1.3102.1360 (9/14/2004 版に更新)Visio Viewer 2002 Gdiplus.dll
5.1.3100.0→?? (Visio Viewer 2003 に更新?)Microsoft .NET Framework 1.0 Gdiplus.dll
5.1.3097.0 → 5.1.3102.1360 (SP3を適用)Microsoft .NET Framework 1.1 Gdiplus.dll
5.1.3101.0 → 5.1.3102.1360 (SP1を適用)
一般的なWindowsクライアントOSを対象にしています。サーバーや64ビット製品では使えません。使用条件など
このプログラムを実行するよりも前に、WindowsUpdate、OfficeUpdate、そのほかのマイクロソフト製品のアップデートを行ってください。これにより、不適当なバージョンのDLLで更新するリスクを減少させることができます。
マイクロソフトのPlatform SDK Redistributable: GDI+から再配布用のGDIPLUS.DLL(5.1.3102.1360)をダウンロードして解凍し、本プログラムと同じディレクトリに保存します。本プログラムを実行すると、ハードディスクをスキャンして一部のバージョン(5.1.3102.1355 より前のすべてのバージョン。5.1.3102.1355 は大丈夫らしい)のGDIPLUS.DLLを更新します。5.1.3102.1360が同じディレクトリにない場合には、スキャンのみを行います。結果は画面に表示され、設定されたサーバーに記録されます。
6.0.3264.0をGDIPLUS.OF3として保存しておくと6.0.3260.0を更新します。
管理者権限がない場合はすべてのディレクトリを検索することはできません。
以下にiniファイルの例を説明します。
[Server] LogDir=\\servername\gdiplus\ [SaveOldDll] Extension=.oldログをサーバーに保存するには UpdatGdi.ini にサーバーの指定が必要です。指定されたディレクトリにコンピュータ名とワークグループ名を組み合わせた名前のファイルが作成されます。
拡張子を指定しないと.oldとなります。空白にしておくと旧ファイルの保存は行いません。なお、保存した旧ファイルが上書きされることはありません。
配布ファイル
- フリーソフトです
- 著作権は片山誠一が保有しています
- このソフトを使用した結果について、また使用できなかったことについて、作者が責任を問われることは一切ないものとします
- バグを改修したり要望にこたえたりする「義務」は作者にはないことをご確認ください
- 以上の条件に同意いただける場合のみ、このソフトの使用を続けることができます。ご同意いただけない場合は、プログラムを完全に削除してください
- 配布・転載をアーカイブの形のままで行うのは、無償である限り自由です
- クライアントに配布する場合はインストーラーと合わせて、自己解凍書庫の形にして配布いただいて結構です
- 本プログラムのバグレポートや改善要望などは作者までお願いします。ソフトサポート掲示板に書き込んでいただいても結構です。
アーカイブには次のファイルが含まれます
- UpdatGdi.exe
- UpdatGdi.html