Ver1.02R8をUPしました。
暫定で、Bugbearの検出を追加。 Klez.Hの検出を修正しました。
相変わらず、ウィルスメールが多いので、せめてひまわりユーザーならウィルスのチェックくらいは・・・。
{---プログラム掲示板投稿フォーム--- 【ソフト名】【簡易ウィルスチェック (バージョン 1.02R8) 【作 成 者】北神 陽太 (連絡先:y-kitagami@nifty.ne.jp) http://homepage1.nifty.com/kitagami/index.htm (C)2002 YOHTA KITAGAMI 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.57 【転 件】可(転載条件:ご連絡があると喜びます) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】無 【コメント】
リリースノート7(2002/10/04) 暫定でBugbearらしきスタートアップの登録を検出。 スタートアップにある「3文字.exe(6文字)」ファイルを検出します。 ウィルスでない場合もありますが、通常ここにプログラムを直接 保存しません。
Klezの検出バグを修正。
1)ウィルスが作成するファイルを検出して、感染しているかを チェックします。 2)「Downloaded Program Files」にインストールされたプログラムを表示。 ウィルスではありませんが、ActiveXなど勝手にインストールされている 場合があります。
チェックのみで駆除を行いません。ウィルスが検出された場合、 駆除ソフトを入手して対応してください。
---投稿フォームここまで---}
{*** 初期設定 ***} 母艦の、サイズは、(88,52,860,613)。 その、背景色は、RGB(0、32、0) その、タイトルは、「【簡易ウィルスチェック Ver1.02 R8 Y.KITAGAMI 2002(C)】」。
メモ0を、メモとして、作成。 その、サイズは、(10,10,760,550) その、編集は、オフ。 その、背景色は、RGB(0、64、0) その、フォント色は、白色。 'その、文字書体は、「MS ゴシック」。
{変数初期化} OS判定=0 '0以外はNT系 感染数=0 感染フラグ=0 メッセージ=「」 ログテキスト=「」 「 」を、50度、リフレイン。'「」内は半角スペースです。 スペース=それ。'結果のテキスト整形用
{パス情報設定} WINパス=WINDOWSのパス。 SYSパス=SYSTEMのパス。
{簡易OS判定} 'systemフォルダの末尾に32があるならNT系と判断してます SYSパスの中で、「32」が、何文字目。 OS判定=それ。 もし、OS判定<>0 ならば、( SYS32パス=SYSパス。 SYS32パスの、文字数。文字位置=それ。 SYS32パスの中で、1から、(文字位置-3)つ、切り出す。 SYSパス=それ&『\』。 ) 違えば、SYS32パス=SYSパス’9x/Meでは無駄な処理です。
{*** メイン ***} ログテキスト=「*** システムパス情報\n\n {WINパス}\n {SYSパス}\n」 もし、OS判定=0 なら ログテキスト=「{ログテキスト}\n」 違えば ログテキスト=「{ログテキスト} {SYS32パス}\n\n」
ログテキスト=「{ログテキスト}*** iniファイルの不正な設定を検索\n」 System_iniを、呼ぶ。 Win_iniを、呼ぶ。
ログテキスト=「{ログテキスト}\n\n*** 対応ウィルスを検索\n」 Gonerを、呼ぶ BadTransを、呼ぶ。 Nimda_Aを、呼ぶ。 Nimda_Bを、呼ぶ。 Sircamを、呼ぶ。 MTXを、呼ぶ。 Klezを、呼ぶ。 KlezAを、呼ぶ。 KlezHを、呼ぶ。 Bugbearを、呼ぶ。//暫定です
{ここは、まだ未作成です。 '起動時に実行されるレジストリ設定
HKEY_LOCAL_MACHINEの、『Software\Microsoft\Windows\CurrentVersion』を、レジストリ開く。 『RunOnce』を、レジストリ読む。 レジストリ閉じる。 ログテキスト=ログテキスト&「\n\n*** レジストリRunOnceの設定」 ログテキスト=ログテキスト&「\n 」&それ。 } 'Webからインストールされたプログラム ログテキスト=ログテキスト&「\n\n*** ↓Downloaded Program Files内のインストールされたプログラム 個人情報を盗む怪しげなプログラムが入っていないか確認してください\n」 WINパス & 『Downloaded Program Files\*.*』の、ファイル列挙。 ログテキスト=ログテキスト&「\n」&それ&「\n↑見覚えのないプログラムは、プロパティから依存関係を確認してください。」。
{結果表示} ログテキスト=「{ログテキスト}\n\n*** 検索結果報告:感染数 = {感染数}\n\n」
もし、感染数=0 なら、ログテキスト=「 {ログテキスト}上記簡易チェックでは、ウィルスに感染していないと思います。」 違えば、ログテキスト=「 {ログテキスト}【警告!】ウィルスに感染しているかもしれません! ウィルス対策ソフトの利用をお奨めします。 または、Webのオンラインウィルス検索を実行してください。 (トレンドマイクロ(株)、(株)シマンテックなどにあります)」
ログテキスト=「{ログテキスト}
ご注意!
1)対応しているウィルスのみしか検出しません 2)ウィルスに感染してからしか検出できません 3)System.iniやWin.iniの設定を使用しているソフトは、 ウィルス以外でも検出される場合があります。 4)Downloaded Program Filesにインストールされた プログラムは手動で調査してください。」
メモ0の、テキストは、ログテキスト 待機
{*** 感染表示サブ ***} *感染ログ メッセージ=メッセージ&スペース メッセージの中で、1から、50つ、切り出す。 もし、感染フラグ=0 なら、ログテキスト=ログテキスト&「\n {それ}:見つかりません」 違えば、ログテキスト=ログテキスト&「\n★{それ}:★感染している可能性があります!」 もし、感染フラグ=1 なら、感染数=感染数+1 メッセージ=「」 感染フラグ=0 戻る
{*** ウィルス検索ルーチン集 ***}
*System_ini メッセージ=「System.ini [boot] Shell=」 WINパス&「System.ini」の、INIファイル開く。 「boot」の、「Shell」を、INIファイル読む。 それを、小文字変換。 もし、それ<>「explorer.exe」 なら 感染フラグ=1 メッセージ=メッセージ & それ INIファイル閉じる 感染ログを、呼ぶ。 戻る
*Win_ini メッセージ=「Win.ini [windows] load=」 WINパス&「Win.ini」の、INIファイル開く。 「windows」の、「load」を、INIファイル読む。 もし、それ<>「」 なら 感染フラグ=1 メッセージ=メッセージ & それ 感染ログを、呼ぶ。
メッセージ=「Win.ini [windows] run=」 「windows」の、「run」を、INIファイル読む。 もし、それ<>「」 なら 感染フラグ=1 メッセージ=メッセージ & それ 感染ログを、呼ぶ。
INIファイル閉じる 戻る
*Goner メッセージ=「Goner」 SYSパス&「gone.scr」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「gone.scr」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*BadTrans メッセージ=「BadTrans」 WINパス&「kernel32.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYSパス&「kernel32.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「kernel32.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 '感染活動後のファイル SYSパス&「Cp_25389.nls」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYSパス&「kdll.dll」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*Nimda_A メッセージ=「Nimda.A(C,E)」 SYSパス&「load.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「load.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る *Nimda_B メッセージ=「Nimda.B」 SYSパス&「PUTA.SCR」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「PUTA.SCR」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*Sircam メッセージ=「Sircam」 SYSパス&「scam32.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「scam32.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 『C:\Recycled\Sirc32.exe』が、存在するか。 もし、それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*MTX メッセージ=「MTX」 WINパス&「IE_PACK.EXE」が、存在するか。 もし それ=1 なら、感染フラグ=1 WINパス&「WIN32.DLL」が、存在するか。 もし それ=1 なら、感染フラグ=1 WINパス&「MTX.EXE」が、存在するか。 もし それ=1 なら、感染フラグ=1 WINパス&「WSOCK32.MTX」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*Klez メッセージ=「Klez(W32.Elkern.4926)」 SYSパス&「wqk.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYSパス&「wqk.dll」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「wqk.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「wqk.dll」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る *KlezA メッセージ=「Klez.A」 SYSパス&「Krnl132.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 SYS32パス&「Krnl132.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る *KlezH メッセージ=「Klez.H(E)」 SYSパス & 「winnk*.exe」の、ファイル列挙。 それの、要素数。 もし それ>0 なら、感染フラグ=1 SYS32パス&「winnk*.exe」が、存在するか。 もし それ=1 なら、感染フラグ=1 感染ログを、呼ぶ。 戻る
*Bugbear メッセージ=「Bugbear」 スタートアップのパス&『???.exe』の、ファイル列挙。 暫定検出=それ 暫定検出の、要素数。 もし それ>0 なら、感染フラグ=1 違えば、暫定検出=「???.exe」 感染ログを、呼ぶ。 ログテキスト=ログテキスト&「\n (※暫定でスタートアップに作成された{暫定検出}を検出)」)。 戻る
|