このページは専門的な内容を含んでいます。一般の方で、【BitDefenderコマンドライン版】を導入したいという方は、簡易インストーラのページをご覧下さい。そちらは初級レベルのユーザーでも十分導入できます。

BitDefenderをコマンドラインのみで使う

2012年4月16日

Error: core initialization failed: (null)エラーについて


BitDefenderコマンドライン版でスキャンすると上記エラーが出て、スキャンができないという症状がおこっています。アップデート操作をしてもこのエラーが治らない場合には、BitDefenderコマンドライン版をインストールしたフォルダにあるPluginsフォルダの中のファイルの中で0バイトのサイズのものが存在していないかチェックをしてみて下さい。(Explorerを詳細表示にすると探しやすいです) 大抵の場合はemalware.298というファイルがそれに該当するようです。

こちらのページにアクセスして、0バイトのファイルと同名ファイルをダウンロードし、そのファイルでPluginsフォルダの0バイトファイルを上書きしてしまってください。これで治るはずです。

2010年6月17日

Vista/7におけるエラーについて

BitDefenderコマンドライン版をお使いの方で、平成22年6月8日頃より、スキャンの途中でアプリケーションエラーが起こりスキャンが出来なくなる現象が生じております。

このエラーへの対応用の実行ファイルを用意しましたので、ダウンロードしてご利用下さい。

bdcore_update.zip(25KB)

ダウンロードした圧縮ファイルを展開し、添付テキストをお読みの上、EXEファイルを右クリック→「管理者として実行...」してください。

XP/2000/Me/98ユーザーなど、不具合が出ていない方には不要のものです。

2012年4月7日

BitDefender公式サイトでは現在、BitDefender Free V.10 を配布していません。代替の入手先はこちらです。

このページの内容は、2ちゃんねるのセキュリティ板のBitdefenderのスレッドへの書き込みをパクって、多少アレンジしてまとめたものです。書き込みをされた皆さんに感謝します。

このページの内容は、バッチファイルやレジストリを理解できる方のみ参考にしてください。""を付けたり取ったり、\をダブらせたりというような作業に慣れている方が対象です。もちろんDOS窓での操作ができない人は論外です。カレントフォルダの意味が解らないような人には、このページの内容は無理です。

また、このページの内容および配布ファイルを使用した結果、いかなる不具合が生じても、責任は持てません。自己責任でお願いします。

BitDefender Free Edition は、無料で使えるアンチウィルスソフトでありながら、市販ソフトを上回る強力なウィルス検出力を持ち、特に圧縮ファイルの中に潜む有害なファイルを展開前に見つけ出す能力には目を見張るものがあります。

しかしFree版では常駐保護機能を持たず、メインのアンチウィルスソフトとしては他の常駐アンチウィルスソフトを使いたいところです。常駐保護機能を持つアンチウィルスソフトには、無料で使えるモノに限定しても、AVG・Avast!・Avira・TrustPort ・Active Virus Shieldなどがあり、BitDefenderはそれらと併用することができます。一般的に2つ以上のアンチウィルスソフトを併用すると、干渉しあって不具合が起こることが多いのですが、常駐保護機能を持たないBitDefenderであれば、他のアンチウィルスソフトとの共存が可能なのです。

ところが、常駐保護機能を持たないBitDefenderにも常駐プロセスがあります。リアルタイムかつバックグラウンドでウィルスから守ることはできないのに、プログラムとしては起動しているわけです。BitDefenderはいわゆる『軽い』ソフトではありますが、ギリギリのスペックでPCを動かしている人たち、あるいは無駄なプロセスが動いていることを嫌う人たちにしてみれば、余計な常駐プロセスは切ってしまいたいと考えるのが当然なわけです。

そこでこのページでは、BitDefenderの中に含まれるBitDefender Command line scannerのみを使って、プロセスを常駐させずに、必要な際には右クリックから怪しいファイルなどをスキャンできるようにする環境作りを目指します。上でも述べたように、BitDefenderの検出力は大変強力なので、現在使っているメインのアンチウィルスソフトだけでは不安な人のスーパーサブとして、とても役に立ちます。また、この使い方であれば1年間の使用期限はありません。時代はもはや「ノートンを使っているから安心」などと言っていられなくなりました。有名市販ソフトとの共存も当然可能なので、BitDefenderで二重の防御体制を敷くことは大変意味のあることだと考えます。

1.BitDefender Free Edition のインストーラを入手

こちらからbitdefender_free_win_v10.exe という名前のファイルをダウンロードして、ローカルの適当な場所に保存します。(IEなどでダウンロードするときに、決して「開く」や「実行」などを選ばないでください。Free版としてインストールされてしまいます。) 今回はこのファイルの中から、必要なファイルのみを抽出するために使います。すなわちインストーラとしてではなく、必要なファイルの提供元としてのみ使用するわけです。

2.必要なファイルのみを取り出す

上で入手した bitdefender_freewin_v10.exe から、コマンドライン版に必要なファイルのみ取り出します。これには以下のような方法があります。

  1. Bitdefenderを通常通りインストールし、<ドライブ名>:\Program Files\Common Files\Softwin\BitDefender Scan Serverフォルダ以下を別の場所にコピーしておいて確保した後、Bitdefenderをアンインストールする。
  2. 仮想PCや別のパソコンに、BitDefenderを通常通りインストールし、<ドライブ名>:\Program Files\Common Files\Softwin\BitDefender Scan Server 以下をコピーして確保する。
  3. インストール用のファイルから、必要なファイルのみを抽出する。

1の方法は、一般的に誰でもできる方法ですが、一連の操作に伴いレジストリなどにかなりのゴミを残します。XP/Meではシステムの復元を使って、一連の操作前に復元ポイントを作っておき、一連の操作後(アンインストール後)に、そのポイントに復元するのが望ましいでしょう。【Total Uninstall】のようなソフトを使えば、より完璧です。【Sandboxie】を使ってテストしましたが、私の環境では失敗しました

2の方法は、複数のPCをお持ちの方には良い方法です。ただしインストールに使うPCに起こる条件は、1の場合と同様になってしまいます。

3の方法は、コマンドラインのみでBitDefenderを使おうという今回の目的には理想的です。お使いのPCの環境を汚さないで済むからです。

このページでは、最後の3の方法について説明します。

【MSI2FILE】 を使う方法

1.Bitdefenderのインストールファイルは自己解凍exeです。これを直接実行せずに解凍ソフトで解凍すると、以下のような4個のファイルが展開されます。bdfree.msi だけが必要なので、それ以外の3個のファイルは削除してかまいません。もちろんbitdefender_free_win_v10.exe も削除して結構です。

展開後⇒展開後のファイル

(注)あなたがお使いの解凍ソフトによっては、EXEファイルを解凍できないかもしれません。その場合は次のようにしてください。

コマンドラインから以下のように実行する。
bitdefender_free_win_v10 /C /T:<抽出先のフォルダをフルパスで指定>

2.bdfree.msi の中にコマンドライン版で必要なファイルがパックされています。しかしbdfree.msiは、普通の解凍ソフトでは解凍できません。そこで専用ソフトを作りました。【MSI2FILE】をダウンロードしてローカルに保存します。レジストリなどの環境を一切改変しないので、気軽に使ってください。

msi2file.lzh

*【MSI2FILE】について詳しく知りたい方は【MSI2ILE】のオンラインヘルプのページへ

余計なソフトは入れたくない、かつ、コマンド操作を苦にしない方ならば、bdfree.msiの存在する場所をカレントにしておいて、
start /wait msiexec /a bdfree.msi targetdir="<抽出先のフォルダをフルパスで指定>" /qn
で抽出できます。このやりかたをした場合は、次の作業3を飛ばして、4に進んでください。抽出先に指定したフォルダ内にSofwinサブフォルダが作成されており、その中に必要なファイルがあります。

3.ダウンロードしたlzh ファイルを展開し、取り出した msi2file.exe を実行してください。使い方は非常に簡単で、bdfree.msi を指定し、抽出場所を指定して、抽出ボタンを押すだけです。

4.bdfree抽出ファイル群No.1という名前のフォルダが作成されたかと思います。このフォルダの中の多数のファイルの中から以下の8つのファイルだけを取り出し、あとは削除しておきます。

8つのファイル

3.更なる準備 その1

1.まず以下の自己解凍ファイルをダウンロードしてローカルに保存してください。

Windows 98/Me用bd_9x.exe

Windows 2000/XP用bd_nt.exe

2.保存したファイルを実行すると、以下のような画面になります。(2000/XPでは自動実行で一瞬で消えます)

展開時の画面

<ドライブ名>:\Program Files\Common Files\Softwin\BitDefender Scan Server 以下に必要なファイルとフォルダが展開されるようにしてあります。 画面表示は上図のようになります。9x系でなおかつDドライブ以降にOSがインストールされているPCではドライブ名が正しいことを一応確認してください。

「なんでexeで配布するんだ!! zipやlzhでいいだろう」という向きも多いかと思います。exeにした理由は、上に書いたような深いパスにファイルを展開することが必要であり、ユーザー個々にフォルダを作ってもらうと、スペルミスなどが起こりえると考えたからです。exeとは言え、フォルダを作って自己解凍する以外には何もしないので、安心して実行してください。

3.<ドライブ名>:\Program Files\Common Files\Softwin\BitDefender Scan Server フォルダの中に以下のファイルやフォルダが作成されていることを確認してください。正常に作成されたことを確認したら、bd_**.exe は削除してかまいません。(NT系では、この他に procterm.exe というファイルを含めてあります。これはスキャンなどのあとに残る余計なプロセスを終わらせる働きをします。)

展開されたファイル

◎作成したものの説明

●フォルダ (初期状態ではいずれも空です)
Infected  感染ファイルの移動先
Plugins   ウィルス定義ファイルなどの保存場所
Suspected 疑念ファイルの移動先

●ファイル
bdcscan.bat  ウィルススキャン時のバッチファイル
update.bat   ウィルス定義アップデート時のバッチファイル
bdc.ini      bdc.exeの設定ファイル
context.reg  関連コンテキストメニュー作成用
uninst.reg   関連コンテキストメニュー削除用

4.このフォルダの中に、先ほど抽出しておいた8個のファイルを追加します。以下のような構成になることを確認してください。(くどいですが、NT系では、さらに procterm.exe もあるはずです。)

全てのファイル

4.更なる準備 その2 (Win 9Xの場合のみ)

*Win NT系の方は、この項目の内容は不要です。

bdcscan.bat とupdate.bat のアイコンを右クリックしてコンテキストメニューのプロパティを開き、プログラムタブで、実行時のディレクトリを指定します。具体的には

"C:\Program Files\Common Files\Softwin\BitDefender Scan Server"

C:\Progra~1\Common~1\Softwin\BitDef~1

等とします。また、終了時にウィンドウを閉じるにチェックします。

プロパティ画面

5.コンテキストメニューの設定

ファイルやフォルダ・ドライブのアイコンを右クリックしたときに、BitDefender の関連メニューが出るようにレジストリを設定します。この作業は簡単で、context.reg をダブルクリックして確認ダイアログにOKするだけで設定完了です。設定後はアイコンを右クリックすると、以下のようなBitDefender関連メニューが2つ出るようになります。

コンテキストメニュー

このメニューから、ウィルススキャンやウィルス定義のアップデートを行えます。アップデートをコンテキストメニューに加えることには異論があるかもしれませんが、Bitdefenderは1日に何回もアップデートするので、スキャン前には必ずアップデートを確認するのがベストと考え、いつでも呼び出しやすいように、このような設定にしました。気に入らない方は、context.reg をテキストエディタで開いて、御自由にカスタマイズしてください。

*重要
9x系では、context.reg
Cドライブにbitdefender のフォルダを作った場合に合わせてあります。ドライブ名が異なる場合は、お手数ですがテキストエディタでcontext.reg bdcscan.bat update.bat を開き、パスを書き換えてから結合操作をしてください。NT系では自動で判断するようになっているので、特別な設定は不要です。

アンインストールする時は?

BitDefenderをアンインストールしたくなったら、uninst.reg を実行すれば関連メニューが消えます。その後、Softwin フォルダを丸ごと削除すればアンインストールされます。

6.実際に使ってみる

初めて使う時は、ウィルス定義が空っぽなので、まずアップデートで定義を入手します。何でも良いので何かのアイコンを右クリックして、コンテキストメニューの『BitDefenderをアップデート(U)』を選びます。下図のように画面が開き、自動的にアップデートされます。初回のみ少し時間がかかります。

アップデート画面

ウィルススキャンをする時は、スキャンしたいファイルなどのアイコンを右クリックし、コンテキストメニューから『BitDefenderでウィルススキャン(B)』を選びます。

スキャン画面

このように結果が表示されます。確認後はキーボードのキーを何でも良いから押すと窓が閉じます。

さて、ウイルスが見つかった時には赤い文字で表示されます。こうなったら気を引き締めてください。下図のように修復・削除・移動・無視・何もせず終了など、ユーザーの判断を選択するようなメッセージが青い文字で英語で表示されます。(なお文字化けが激しいのですが気にしなくて結構です。2バイトファイル名でも中身はきっちりチェックします。表示上だけの不具合です。)

ウイルス発見画面

これは、Winny無視リストサイトの情報を使って探してきた、ウイルス入りの危険なzipファイルをスキャンしたところです。コミックを炊いたもので、多くの画像ファイルの中に、たった1つだけ悪質な実行ファイルを混ぜてあるものでした。さてこのような場合、一般的な心情としてはDisinfectを選びたいでしょう。そこでdキーを押してみます。

修復失敗画面

結果は上図のとおりです。修復に失敗しました。修復に失敗とか言うと、「あー、やられた」と思うかもしれませんが、この段階ではまだ感染していません。(EXEファイルを実行したわけではないからです。) そもそもウイルスとして専用に作られた実行ファイルを無害化(disinfect)できるとは考えないことです。

Move という選択肢を選ぶと、上のほうで作った Infected フォルダに感染ファイルを移動させます。しかし単純な移動に過ぎません。Infected フォルダが特別な防御機構を持ったフォルダというわけではないのです。あとでメーカーに検体を提出しようというような場合には適しています。提出が済んだら決して実行することなく手動で消去しておきましょう。

ちなみにXP Pro において、InfectedフォルダやSuspectedフォルダ内で実行ファイルを実行できないようにするには、「ファイル名を指定して実行…」からsecpol.msc /s と打ち、「ソフトウェア制限のポリシー|追加の規則」項目で右ペインで右クリックし、「新しいパスの規則...」で下図のようにInfectedフォルダなどを指定すれば、実行ファイルを実行できないフォルダになります。

特別な防御機構を持ったフォルダ

たとえばbdc.exeをInfectedフォルダ内にコピーして、ためしに実行してみようとすると、下図のようなアラートが出て実行できなくなります。

ソフトウェアの制限ポリシー

XP Home にはこの機能はありません。いや正確に言うと、機能はあるのだが、上で紹介したPro版のようなフロントエンドが用意されていないだけで、機能自体は存在するようです。同じことをしたければ、直接レジストリに書き込みます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths\{11111111-2222-3333-4444-555555555555}]
"SaferFlags"=dword:00000000
"ItemData"="C:\\Program Files\\Common Files\\Softwin\\Bitdefender Scan Server\\Infected"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths\{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}]
"SaferFlags"=dword:00000000
"ItemData"="C:\\Program Files\\Common Files\\Softwin\\Bitdefender Scan Server\\Suspected"

{*******-****-****-****-************}という部分はGUIDと呼ばれる乱数です。上のように綺麗な数字の羅列ではなく、本来は乱数にすべきです。【GENGUID】などGUID作成ツールを使うと簡単に作れるので、自分で作成したGUIDで上の{}内を置き換えてから結合してください。当然1つめの{}と2つ目の{}のGUIDは異なるものにしてください。また、上の例はシステムがCドライブの例ですから、そうでない人は適宜書き換えてください。なお、レジストリを書き換えた場合は、一度OSを再起動しないと、この機能が有効になりません。

Ignore やQuit という選択肢は、BitDefender の検出が誤検出であると確信できる場合のみに選びます。一般的には使うことはほとんどないでしょう。

ということで、選択肢はDeleteが望ましいのです。lキー(アルファベットのエル)を押します。

駆除成功画面

今度こそ感染ファイルが削除されました。それ以外の感染していないファイルは残っています。すなわち、zip ファイルを解凍することなく、zip の中から感染ファイルだけを取り除いて、危険性のないzip ファイルに変えて残してくれたわけです。この動作はほとんどの人が期待する理想的な修復方法ですね。(ただし無害化したからといって、こういう著作権違反のファイルを、このように入手してはいけませんw。)

さて次の例は、うじゃうじゃとウイルスが含まれているzip ファイルです。

ウイルス雨あられ

こうなると、lキー連打です。(キーを押しこんだままでも良い)

駆除完了の図

結局、27個感染ファイルが含まれていました。27回キーを押しました。一応残りかすのようなzipファイルが残りますが、これを利用しようという猛者はいないでしょう。残ったものも即、手動で削除しました。

さて、今回お見せしたのは単独ファイルのスキャンでしたが、ドライブアイコンの右クリックでドライブを丸ごとスキャンすることも出来ます。しかし、かなり時間がかかる(数日単位になるかも)と思うので、お勧めしません。bdcscan.batの/list オプションを削除しておくと多少早くなるかもしれませんが、進行状態が把握できなくなってしまいます。

数日単位と書いたので、「ええっ!?ホントかよ」という意味の書き込みを2ちゃんねるで何度も見ました。これはお使いのPCの状態によるもので、PCの処理能力が低い、ドライブの使用容量が大きい、圧縮ファイルを多く保存しているなどの条件が重なるとスキャンに時間が掛かるようになります。特に圧縮ファイルは一々中身までスキャンするので、これが所要時間を決めるかなり大きな要素になります。Daemon のような仮想ドライブソフトで使うためにイメージファイルをたっぷり保存しているような方は、1個のファイルで10分以上ということもありえるので、全体では日にちをまたがってスキャンするようなことにもなりかねません。逆に、圧縮ファイルなどほとんど保存しておらずPCも高性能という場合は、ドライブスキャンでも30分以内で終わるような場合もあるでしょう。

「自分の場合はどうなんだろう?」と疑問を感じたら、実際にやってみて確かめるしかありません。やり始めたけれど、時間が掛かりすぎて途中で止めたくなったならば、
Ctrl+Cキーで止めることができます。

Ctrlキーを使って複数のファイルなどを選択しておいてのスキャンも出来ますが、DOS窓がたくさん開いてブラクラのような状態になり、かなりウザイです。9Xではリソース不足でOSが落ちるかもしれません。複数のファイルをスキャンする場合は、1階層上のフォルダを選択してスキャンしたほうが良いでしょう。

7.カスタマイズ

個人的に、さらに自分に合った設定にしたい場合は、bdcscan.bat や update.bat をテキストエディタで編集します。bdc.exe のコマンドラインオプション部分の表記をいじることが中心になるでしょう。bdc.exe のコマンドラインオプションに関しては、bdc /? で確認できます。いろいろ試してみてください。たとえば文字化けが気になる人は、DOS画面ではなく、結果ログをメモ帳で表示するなどの変更ができます。

8.まとめ

コマンドライン版というと、なにかCUIみたいなイメージを持たれるかもしれませんが、実際の使い方はエクスプローダ上でアイコンを右クリックして実行するだけです。表示画面がコマンドプロンプトというだけなのです。

お勧めの使い方は、上の例のような、アングラなサイトやP2Pで入手したような出自が怪しいソフトをスキャンするようなやり方です。展開前の圧縮ファイルのままでウイルスを見つけ、駆除することができます。ISOファイルやISOをRARで固めたようなファイルにも対応しています。

2ちゃんのダウソ板の住人などには、必携のソフトです。

補足1

BitDefender コマンドライン版を導入すると、関連付けされていない拡張子を持つファイルをダブルクリックするとスキャンが始まってしまうという現象が出ることがあります。関連付けの無いファイルをダブルクリックしたときには、「ファイルを開くプログラムの選択ダイアログ」が出て欲しいという場合は、レジストリエディタで、HKEY_CLASSES_ROOT\*\shellの既定値に「open」を入れて見てください。

open作成

Regファイルの書式ならば以下のようになります。(Win9Xに合わせてREGEDIT4にしていますが、2000/XPでも機能します)

REGEDIT4

[HKEY_CLASSES_ROOT\*\Shell]
@="open"

もしも、上の設定を元に戻したければ

REGEDIT4

[HKEY_CLASSES_ROOT\*\Shell]
@=-

ただしWin9X系では上の @=- というのは機能しないようなので、戻したい場合はレジストリエディタで直接上図の反転している(標準)キーを削除してください。

残念ながら、openという値を書き込む方法ではもダメな場合もあります。この場合のみ、以下のRegファイルを結合してください。

REGEDIT4

[HKEY_CLASSES_ROOT\*\Shell\open\command]
@="RUNDLL32.EXE shell32.dll,OpenAs_RunDLL %1"

これで、関連付けの無いファイルをダブルクリックすると「ファイルを開くプログラムの選択ダイアログ」が出るようになるはずです。もしも上の設定を元に戻したければ、

REGEDIT4

[-HKEY_CLASSES_ROOT\*\Shell\open]

で該当キーが削除できます。

補足2

『Web経由で入手したインストーラー用ファイルをBitdefenderコマンドライン版でスキャンしようとすると、スキャンじゃなくインストールが始まってしまう』という誤解があるようなので、ここで補足説明をしておきます。

例として、ダウンロードしてきたばかりのBitdefender Free V.10 のインストーラをBitdefenderコマンドライン版を使ってスキャンしてみます。すると次のようなダイアログが開きます。。

セキュリティの警告ダイアログ

これをみて、「うわっ、インストールが始まっちゃう」と早とちりしてはいけません。構わずに実行してください。すると何事も無かったように、インストールではなく、下図のように普通にウイルススキャンが始まります。

普通にスキャンされる

これは、上の図にもある、Zone Identifier という仕組みのせいです。Windows XP SP2以降で採用されています。Internet Explorerなどを使ってWebからダウンロードした特定の拡張子を持つファイルを実行しようとすると、ユーザーに対していったん確認を求める仕様になっているのです。このページで解説しているBitdefenderコマンドライン版では、このZone Identifier によるチェックを回避できません。よって上の例のようになってしまうわけです。ただしワンクリック手間が増えるだけで、決してスキャンが行われないとか、インストールされてしまうとか言うわけではないということは理解しておいてください。

もしも事前に警告ダイアログを出ないようにしたい場合には、対象ファイルを右クリックしプロパティを選んでください。全般タブで下図のようにブロックの解除をしてからOKしておけば、そのファイルに関しては、それ以降警告が出なくなります。

ブロックの解除

さらに、このファイルに対してなどという限定的なことではなく、今後一切Zone ID による警告を出さないようにしたいという場合には、レジストリを書き換える必要があります。savezoneinformationでGoogle検索すると、具体的なやり方が見つかると思います。またレジストリを直接いじりたくない方などは、「いじくるつくーる」の「システムの禁止設定(個人用設定)」にこの設定があります。

 わざわざレジストリをいじらなくても、3つ上の図の段階で「この種のファイルであれば常に警告する」のチェックをはずせばよいだろうと考えますよね。ところがやってみるとわかりますが、次に別の拡張子EXEのファイルをダウンロードして保存し、いざ実行すると意に反して同じ警告が出てしまいます。Windows日本語版の訳し方に問題があるとのことらしいのですが、ここのチェックをはずすことは、すぐ上の図で「ブロックの解除」をすることと同義に過ぎないようです。

余談ですが、保存したファイルを実行する段階ではなく、IEでWebからダウンロードしようとしたときに出る「ファイルのダウンロード」ダイアログにも「この種のファイルであれば常に警告する」というチェックボックスがあります。ややこしいことに、ここのチェックは日本語の意味そのままのものです。つまり一度チェックをはずしてしまうと、同種のファイルでは2度とダイアログが出なくなるのでご注意下さい。回復する方法はありますが、レジストリを直接修正する必要があります。このページではこれ以上詳しく書くことは本論から大きく脱線してしまうので、ここまでにしておきます。興味のある方は"この種のファイルであれば常に警告する"でGoogle検索してください。

<ホームへ>