エクスプローラの設定を「すべてのファイルとフォルダを表示する」に変更させてくれないウィルス対応をするために

WindowsXPでウィルス感染した!
なんか、駆除するには隠しファイルを削除するとか書かれてるよ!
見えないんだけど!てか、隠しファイルって何?どうしたらいいの?とか言う場合の説明用自分メモ。

悪意のあるプログラム的には、
Generic PWS.ak!13DB6DDC8233(McAfee)WORM_ONLINEG.PB(Trendmicro)PWS-Gamania.gen.a等がありますが、今後もこういうのはまだまだ出るはずなので隠しファイルになってる悪意のあるファイルを表示して削除したいんだよ!という場合には役立つ...はずです。

エクスプローラの設定を
「すべてのファイルとフォルダを表示する」に変更しても変更できないで、設定が反映されない。
「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外しても変更が反映されない場合、
色々なサイトを検索した結果、regeditでレジストリを確認して操作すれば簡単だよ!とか書かれてるけど、そんなのよくわかんないよ!とか、
いあ、社内でかなりの台数やられちゃって(とかは嫌だけど)...という場合は、バッチファイルでレジストリの設定確認をしちゃいましょう。

コレ↓をメモ帳にコピーして、batファイルにして実行したらメモ帳で結果が表示されます*1
最後の行で結果表示に使用したメモ帳のファイルは、メモ帳を終了した段階で削除するのでゴミは残りませんが、結果表示したファイルを残したい場合は最後の行を削除してください。
テキストファイルはバッチファイルを保存した場所と同じところに作成されます。

@echo off
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden > checkreg.txt
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden >> checkreg.txt
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue >> checkreg.txt
checkreg.txt
del checkreg.txt /F

保存した「checkreg.bat」ダブルクリックで実行すると、メモ帳にレジストリの状態を表示します。
ShowSuperHiddenに関しては↓のようにエラーが表示される場合がありますが、コレは一度も「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外していない場合、「ShowSuperHidden」の値が存在しませんので表示されるエラーです。

! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
エラー:  指定されたレジストリ キーまたは値が見つかりませんでした

それぞれの値が存在してファイルの拡張子や保護されたファイルも表示するように設定できている場合には、以下のような結果になります。

! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    ShowSuperHidden	REG_DWORD	0x1

! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    Hidden	REG_DWORD	0x1

! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
    CheckedValue	REG_DWORD	0x1

また、それぞれの値が存在してファイルの拡張子や保護されたファイルを表示しないように自分で設定している場合には、以下のような結果になります。
もちろん、自分で設定を変更しているので、エクスプローラのフォルダオプションで設定の変更をすることが可能です。

! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    ShowSuperHidden	REG_DWORD	0x0

! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    Hidden	REG_DWORD	0x2

! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
    CheckedValue	REG_DWORD	0x1

どれだけ設定を変更しても、変更が反映されない場合は、最後の「CheckedValue」の項目の結果表示が
↓のように「0x2」になっているため、この値を変更すれば設定変更をすることが可能になります。

! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
    CheckedValue	REG_DWORD	0x2

設定を変更する場合、そんなのどうやって変更すれば良いかよくわかんないよ!とか、
いあ、社内でかなりの台数やられちゃって(とかは嫌だけど)...という場合は、バッチファイルでレジストリの設定を変更しちゃいましょう。
コレ↓をメモ帳にコピーして、batファイルにして実行したらレジストリの設定が3箇所変更されます。

reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t REG_DWORD /d 0x1 /f
reg.exe add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 0x1 /f
reg.exe add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 0x1 /f

実行後のエクスプローラの設定は
「すべてのファイルとフォルダを表示する」に変更されています。
「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックが外れています。

もちろん、コレは悪意のあるファイルを手で削除をするための一事前準備に過ぎませんので、駆除処理はきちんと行いましょう。

参考文献:
@IT:Windows TIPS -- Tips:コマンド・プロンプトでレジストリを操作する
Win32/Conficker ワームに関するウイルス対策情報:Microsoft

*1:メモ帳の [ファイル] メニューの [名前を付けて保存] をクリック→[名前を付けて保存] ボックスで、バッチ ファイルを保存するフォルダを選択→[ファイルの種類] ボックスで、[すべてのファイル] をクリック→"checkreg.bat"と[ファイル名] ボックスに入力→[保存] をクリック