速習「MS-DOS」スパイウエア編
「:Adware.AdBlaster」の駆除
001 002 003 004 005 006 007

バッチファイルの作成と実行手順 ▼end
  1. 適当なフォルダを作成、または、選択。(例えば「デスクトップ」)
  2. フォルダまたは、デスクトップの空白部を右クリック。
  3. メニューの「新規作成」「テキストドキュメント」を選択。
  4. 選択したフォルダに「新規テキスト ドキュメント.txt」というファイルが作成されます。
  5. 「新規テキスト ドキュメント.txt」を開き実行するコマンドを記入します。
  6. 「新規テキスト ドキュメント.txt」を拡張子「Bat」で適当な名前で保存します。
  7. 拡張子「Bat」のファイルをバッチファイルと呼びます。
  8. バッチファイルをダブルクリックするとバッチファイルに記入されたコマンドが実行されます。

001 作成例:「FixAdblaster.bat」 ▼end

スパイウエア対策の掲示板で「ngpw36」というファイルが原因で悩んでいる方からの相談があります。

下記サイトの情報を参考に修復バッチファイルを作って見ます。

:Adware.AdBlaster
http://www.symantec.co.jp/region/jp/avcenter/venc/data/jp-adware.adblaster.html

Help me get rid of ngpw36.exe
http://forums.spywareinfo.com/lofiversion/index.php/t47737.html

「HijackThis」を使えば、駆除自体はそれほど難しそうでもありませんが、レジストリの修復がかなり面倒なようです。

なお、シマンテック社の説明で、多分、重複していると思わる部分がありますので、その部分は割愛してあります。

ファイル名:「%System%\ngpw36.exe」と「%System%\ngpw36.exe.exe」

:FixAdblaster.bat

@echo off
cls

echo レジストリの修復とファイルの削除を開始します。
echo 中止する場合は「Ctrl」と「C」を同時に押してください
echo.
echo その他のキーを押すと修復が始まります。
echo.
pause

set regName=fixreg.reg
if exist %regName% del %regName%

echo REGEDIT4 > %regName%

echo. >> %regName%
echo [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >> %regName%
echo "ngpw36"=- >> %regName%
echo "adprot"=- >> %regName%

echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >> %regName%
echo "Aapp"=- >> %regName%

echo [-HKEY_CLASSES_ROOT\CLSID\{3836A9DB-B135-4046-901C-46111761647D}] >> %regName%
echo [-HKEY_CLASSES_ROOT\CLSID\{941CA48C-3984-4E7D-AAF8-8755ED76EB50}] >> %regName%
echo [-HKEY_CLASSES_ROOT\Interface\{AAA0AA29-58CB-424D-BD48-1CF84E20BFE1}] >> %regName%
echo [-HKEY_CLASSES_ROOT\Interface\{EAE7C84F-4A41-4E63-9A6C-E32AA1865C26}] >> %regName%
echo [-HKEY_CLASSES_ROOT\TypeLib\{EC888FAB-1762-4334-8D14-6F568A80B2E1}] >> %regName%
echo [-HKEY_CLASSES_ROOT\ngsh33.clsDW] >> %regName%
echo [-HKEY_CLASSES_ROOT\ngsh33.clsIS] >> %regName%
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{941CA48C-3984-4E7D-AAF8-8755ED76EB50}] >> %regName%
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3DB932A2-ECE3-4D5C-9B64-A77C1BC6341F}] >> %regName%
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\InternetAccelerator.exe] >> %regName%
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Morpheus Upgrades] >> %regName%
echo [-HKEY_LOCAL_MACHINE\SOFTWARE\Ashampoo] >> %regName%

regedit /s %regName%

echo.

VER|find "Windows 95">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows 98">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows Millennium">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows NT">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\winnt\system32
VER|find "Windows 2000">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\winnt\system32
VER|find "Windows XP">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system32

echo.

echo ファイルの削除 > log.txt
echo. >> log.txt
echo もし、削除できなかったファイルがあれば下記に表示されます。 >> log.txt
echo 何も表示されない場合、ファイルが存在しない、又は、ファイルの削除に成功しています。 >> log.txt
echo ファイルが使用中のため削除できない場合があります。 >> log.txt
echo その場合はパソコンを再起動してもう一度バッチを実行してください。 >> log.txt
echo. >> log.txt
echo メモ帳を閉じて作業を終了してください。 >> log.txt

set delFile=%Sysdir%\adprot.exe
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Sysdir%\ngpw36.exe
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Sysdir%\ngsh33.dll 
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Sysdir%\MSWINSCK.OCX
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Windir%\Sngpw36.exe
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Windir%\Sngsh33.dll
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

set delFile=%Windir%\morpheus_internet_accelerator2.exe
del %delFile%
if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

echo.
echo レジストリの修復とファイルの削除が終了しました。
echo.

notepad log.txt

002 スクリプトの説明 ▼end

スクリプトの意味を順次説明します。

@echo off

コマンドプロンプトの表示を停止します。

下記に詳しく書かれているので参考にしてください。

echoと@ http://www.confrage.com/dos/batch-grammar/echo/echo.html

cls

DOSの実行画面をクリアします。

echo 〜

echo 以下の文字列を表示します。

echo.

「echo」の後に「.」(ピリオド)をつけると空行を表示します。

pause

一時停止

if exist %regName% del %regName%

「fixreg.reg」があれば削除

echo REGEDIT4 > %regName%

文字列「 REGEDIT4」を「fixreg.reg」に書き込みます。

「>」の場合、新規の書き込みですので既存のデータがあれば上書き削除されます。

echo. >> %regName%

空行を「fixreg.reg」に追記します。

「>>」の場合、追記書き込みですので既存のデータの後に書き込まれます。

echo [HKEY_LOCAL_MACHINE〜]

[HKEY_LOCAL_MACHINE〜]を「fixreg.reg」に追記します。

レジストリキーを一行ずつ括弧でくくってあります。

echo "ngpw36"=- >> %regName%

"ngpw36"=- を「fixreg.reg」に追記します。

代入式。左辺にレジストリ値の名前、右辺に[-](マイナス)が書かれます。

echo [-HKEY_CLASSES〜]

[-HKEY_CLASSES〜]を「fixreg.reg」に追記します。

レジストリキーを一行ずつ括弧でくくり、先頭に[-](マイナス)が書かれます。

regedit /s %regName%

レジストリエディターを起動して「fixreg.reg」を結合させます。


003 作成されたレジストリファイルの説明 ▼end

バッチを実行したフォルダに「fixreg.reg」ファイルが保存されているのを確認してください。

REGEDIT4 

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"ngpw36"=- 
"adprot"=- 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"Aapp"=- 

[-HKEY_CLASSES_ROOT\CLSID\{3836A9DB-B135-4046-901C-46111761647D}] 
[-HKEY_CLASSES_ROOT\CLSID\{941CA48C-3984-4E7D-AAF8-8755ED76EB50}] 
[-HKEY_CLASSES_ROOT\Interface\{AAA0AA29-58CB-424D-BD48-1CF84E20BFE1}] 
[-HKEY_CLASSES_ROOT\Interface\{EAE7C84F-4A41-4E63-9A6C-E32AA1865C26}] 
[-HKEY_CLASSES_ROOT\TypeLib\{EC888FAB-1762-4334-8D14-6F568A80B2E1}] 
[-HKEY_CLASSES_ROOT\ngsh33.clsDW] 
[-HKEY_CLASSES_ROOT\ngsh33.clsIS] 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{941CA48C-3984-4E7D-AAF8-8755ED76EB50}] 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{3DB932A2-ECE3-4D5C-9B64-A77C1BC6341F}] 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\InternetAccelerator.exe] 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Morpheus Upgrades] 
[-HKEY_LOCAL_MACHINE\SOFTWARE\Ashampoo] 

以下、順次説明します。

REGEDIT4 

レジストリファイルの宣言。直後に空行を1行入れておきます。

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"ngpw36"=- 
"adprot"=- 

レジストリキーを選択して次の値を削除します。レジストリキーそのものは削除しません。

"ngpw36" = "%System%\ngpw36.exe" を削除します。

"adprot" = "%System%\adprot.exe" を削除します。

Windowsの起動と同時に実行されるスタートアップ項目で一般的に使われているものです。

HKEY_CURRENT_USER〜 はログインユーザーごとの設定です。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] 
"Aapp"=- 

レジストリキーを選択して次の値を削除します。レジストリキーそのものは削除しません。

"Aapp" = "%System%\adprot" を削除します。

Windowsの起動と同時に実行されるスタートアップ項目で一般的に使われているものです。

HKEY_LOCAL_MACHINE〜 はAllUserの設定です。

 [-HKEY_CLASSES_ROOT\〜] 
 [-HKEY_LOCAL_MACHINE\〜}
 [-HKEY_CLASSES_ROOT\〜] 
 [-HKEY_LOCAL_MACHINE\〜] 

表示されているレジストリキーの最下位のサブキーを選択、削除します。

regedit /s %regName%

レジストリエディターを使って「fixreg.reg」を結合させます。


004 システムディレクトリの判定 ▼end

WindowsではOSのバージョンによってシステムディレクトリの名前が違うという厄介な問題があります。

「Ver」コマンドでOSのバージョン表示をエコーさせ、結果をパイプ処理を使って「Find」コマンドに引き渡してバージョンを判定します。

%SystemDrive%は環境変数で、Windows起動時に設定されています。

通常は「C:」ですが、それ以外のドライブから起動されることもあります。

VER|find "Windows 95">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows 98">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows Millennium">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system
VER|find "Windows NT">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\winnt\system32
VER|find "Windows 2000">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\winnt\system32
VER|find "Windows XP">NUL
IF NOT ERRORLEVEL 1 set sysdir=%SystemDrive%\windows\system32

面白いページがあるので参考にしてください。

バッチファイルでOSを判定する
http://homepage1.nifty.com/jak/batch/os.html

「IF NOT ERRORLEVEL 1」 と「IF  ERRORLEVEL 0」との違い?

「IF  ERRORLEVEL 0」ではバッチ処理が正しく動作しないと記憶しています。


005 ファイルの削除ログ ▼end

バッチファイルの説明を「log.txt」に書き出すコマンドです。

echo ファイルの削除 > log.txt
echo. >> log.txt
echo もし、削除できなかったファイルがあれば下記に表示されます。 >> log.txt
echo 何も表示されない場合、ファイルが存在しない、又は、ファイルの削除に成功しています。 >> log.txt
echo ファイルが使用中のため削除できない場合があります。 >> log.txt
echo その場合はパソコンを再起動してもう一度バッチを実行してください。 >> log.txt
echo. >> log.txt
echo メモ帳を閉じて作業を終了してください。 >> log.txt

削除コマンドを実行しても削除に成功しなかった場合「log.txt」に追記されます。

結果はバッチ処理終了後、メモ帳を起動して表示されます。


006 ファイルの削除と確認 ▼end

ファイルがメモリーで起動中等の理由で削除に失敗することがあります。

削除実行後、ファイルの存在を調べ、もし、実行後もファイルが存在する場合は削除に失敗したことになります。

結果をログファイルに出力して作業の成否を確認します。

set delFile=%Sysdir%\adprot.exe

変数「delFile」に削除するファイルのパスを代入します。

変数「Sysdir」は、004.システムディレクトリの判定で下記のいずれかが代入されています。

%SystemDrive%\windows\system

%SystemDrive%\winnt\system32

%SystemDrive%\windows\system32

del %delFile%

変数「delFile」で参照されるファイルを削除します。

if exist %delFile% echo %delFile%が削除できませんでした。 >> log.txt

もし削除コマンド実行後ファイルが残存する場合そのファイル名をログファイルに書き込みます。


007 終了処理 ▼end

バッチ処理終了後、メモ帳を起動してログファイルを表示します。

echo.
echo レジストリの修復とファイルの削除が終了しました。
echo.

notepad log.txt

メモ帳を閉じると、自動的に、DOS画面も閉じられます。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

下記リンクをクリックしてダウンロードしてください。 

FixAdblaster.lzh

解凍すると「FixAdblaster.bat」が作成されます。

「FixAdblaster.bat」をダブルクリックすると駆除作業が実行され、「fixreg.reg」と「log.txt」が作成されます。

「log.txt」を見て有害なファイルが駆除されたか確認してください。

また、お使いのウィルス対策ソフト等でスキャンして駆除されたか確認してください。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

≪Prev ▲Top Next≫

end

Ads by TOK2