PPFScanner Programmbeschreibung

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PPFScanner Programmbeschreibung

      Autor: AHT
      PPFScanner Programmbeschreibung

      Wozu dieses Programm?

      Virenscanner sind nützliche und wichtige Werkzeuge - manchmal reagieren sie aber erst zu spät und dann nicht komplett. So werden zwar in der Regel die problematischen Dateien entfernt, die Registryschlüssel, die vormals einen Virus gestartet haben, bleiben aber oft im System. Im schlimmsten Fall können solche zurückgelassenen Einträge dazu führen, dass das System nicht mehr startet oder sich nicht mehr bedienen lässt. Es kommt auch vor, dass man eigentlich genau weiß, dass man sich einen Virus eingefangen hat, weil das System merkwürdig reagiert - den der Virenscanner aber nicht findet.

      Für solche Angelegenheiten wurde diese Programm PPFScanner entwickelt. PPFScanner untersucht verschiedene Stellen der Registry, an denen sich Viren festsetzen können und gibt deren Werte zurück. Des Weiteren prüft der Scanner verschiedene Orte des Dateisystems und gibt unter anderem die zuletzt dort erstellten Dateien zurück. Geladene DLLs, Prozesse und Treiber werden ebenfalls gelistet. Zusätzlich verfügt der Scanner mit dem "Scripting" über die Möglichkeit, unter anderem weitere Bereiche der Registry, des Dateisystems oder Einträge der Ereignisverfolgung auszulesen. Die erfassten Daten werden in Textdateien geschrieben, die dann im Netz gepostet und von kompetenten Leuten ausgewertet werden können.

      Der Scanner ist so konzipiert, dass er auch über eine Windows Live-CD auch Systeme scannen kann, die nicht aktiv sind (wichtig, wenn sich ein Rechner nicht mehr starten lässt und nützlich auch bei manchen RootKits). Was der Scanner genau auslesen soll, lässt sich unter den Menüpunkten Dateien und Ordner und Registry und ausgeführte Dateien einstellen.

      Der PPF Scanner lässt sich auch über Scripte steuern. Er bringt hierzu eine eigene - schon recht umfangreiche - "Programmiersprache" mit, mit der sich auf allerhand Arten unter anderem Zusatzprogramme starten, Dinge im Dateisystem, der Ereignisanzeige von Windows und der Registry auslesen und ändern lassen. Das hat den Vorteil, dass bei neuartigen Viren, die andere Hinweise an anderen Orten auf dem System hinterlassen, nicht jedes mal das Programm umgeschrieben werden muss, um Hinweise auf Malware zu erhalten, sondern dass es ausreicht das Script zum Auslesen zu ändern, um weitere Infos über einen möglichen Virenbefall zu erhalten.

      Auch das direkte Versenden von Dateien von einem befallenen Rechner an einen anderen PC (zum weiteren Testen der Dateien) ist per Script möglich. Man muss also keine vermutliche Malware zum Testen irgendwo hoch laden, wo sich vielleicht andere bei einem Download damit infizieren könnten, sondern kann die vermutliche Malware vom befallenen Rechner direkt per Script auf einen anderen Rechner kopieren, der irgendwo anders in der Welt stehen kann.

      Anwendung:

      • Von hier den PPFScanner herunterladen und die ZIP in einen eigenen Ordner entpacken (zum Beispiel nach C:\PPFS).
      • Danach die PPFScan.exe starten.
      • Klicke im PPFScanner oben links auf den Menüpunkt Programm, es öffnet sich dann ein Untermenü.
      • Wähle im Untermenü Script laden und ausführen.
      • Du hast dann im daraufhin erscheinenden Dialog die Möglichkeit, durch die Ordner zu browsen und eine Datei auszuwählen. Wähle hier die Datei Erweiterter Scan.scp aus, die sich im PPFScanner Ordner befindet, klicke dann auf Öffnen und bestätige die erscheinende Messagebox mit Ja.
      • Nach dem Scan beendet sich der Scanner. Es befinden sich dann im Ordner C:\PPF_Scan1 einige Text-Dateien.
      • Bei Unklarheiten oder Problmen lade bitte alle Dateien, die du dort findest, bei workupload.com/ hoch und poste die Downloadlinks hier im Forum im Bereich Sicherheit.



      Scandauer (mindestens) 40 Minuten - je nach Rechner.

      Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von AHT ()

    • Erweiterte Anwendungsmöglichkeit I: Performancetest durchführen

      Manchmal kann es nützlich sein, die Leistung des Rechners über längere Zeit zu beobachten und Prozessorauslastung der einzelnen Prozesse, Festplattenzugriffe etc. in dieser Zeit aufzuzeichnen. Folgendes wurde dazu entwickelt - hier die genaue Anweisung:

      ####################################################
      Zuerst das hier tun:
      • Von hier den PPFScanner herunterladen und die ZIP in einen eigenen Ordner entpacken (zum Beispiel nach C:\PPFS).
      • PPFScan.exe starten.
      • In das Texteingabefeld über dem Button Script ausführen folgenden Text einfügen:

      Quellcode

      1. CREATE_FOLDER->C:\PPFS_Tools
      2. CREATE_FOLDER->C:\PPF_Scan1
      3. CREATE_BATCH_FILE->C:\PPFS_Tools\Perf.Config
      4. WRITE_BATCH->"\LogicalDisk(*)\*"
      5. WRITE_BATCH->"\Memory\*"
      6. WRITE_BATCH->"\Network Interface(*)\*"
      7. WRITE_BATCH->"\Paging File(*)\*"
      8. WRITE_BATCH->"\PhysicalDisk(*)\*"
      9. WRITE_BATCH->"\Process(*)\*"
      10. WRITE_BATCH->"\Redirector\*"
      11. WRITE_BATCH->"\Server\*"
      12. WRITE_BATCH->"\System\*"
      13. CREATE_BATCH_FILE->C:\PPFS_Tools\Perf.BAT
      14. WRITE_BATCH->LOGMAN DELETE SL1
      15. WRITE_BATCH->DEL C:\PPF_Scan1\SL*.* /Q
      16. OPEN->C:\PPFS_Tools\Perf.BAT
      17. SLEEP->20000
      18. EXECUTE->%Systemroot%\System32\logman.exe Create Counter SL1 -cf "C:\PPFS_Tools\Perf.Config" -o "C:\PPF_Scan1\SL"
      19. SLEEP->20000
      20. EXECUTE->%Systemroot%\System32\logman.exe Start SL1
      21. SLEEP->2400000
      22. EXECUTE->%Systemroot%\System32\logman.exe Stop SL1
      23. SLEEP->20000
      24. LOAD_SCRIPT->%PROGDIR%Erweiterter Scan.scp
      25. OPEN->C:\PPF_Scan1\SL_000001.blg
      26. END->
      Alles anzeigen


      • Klicke dann auf den Button Script ausführen und bestätige die erscheinende Messagebox mit Ja.
      • Beende den Scanner nicht, auch wenn er scheinbar nichts tut - warte ab, bis er sich selbst beendet.
      • Es startet ein Leistungstest für deinen Rechner. Dieser Test dauert 40 Minuten. Danach wird ein Systemscan gestartet, der ebenfalls mindestens 40 Minuten dauert.
      • Sind die Scans beendet, schließt sich der Scanner. Es befinden sich dann im Ordner C:\PPF_Scan1 einige Dateien. Bei Fragen dazu lade bitte alle Dateien, die du dort findest, bei http://workupload.com/ hoch und poste die Downloadlinks hier im Forum.


      ####################################################

      Info: Mit SLEEP kann man einstellen, wie lange der Scan laufen soll.

      Quellcode

      1. EXECUTE->%Systemroot%\System32\logman.exe Start SL1SLEEP->2400000EXECUTE->%Systemroot%\System32\logman.exe Stop SL1

      Diese Zeile zeigt die Laufzeit des Leistungstests in Millisekunden an - hier 2400000 Millisekunden = 40 Minuten.

      Die Ergebnisse der Leistungsüberwachung befinden sich am Schluss in der Datei C:\PPF_Scan1\SL_000001.blg. Diese Datei ist eine Grafik - ein Liniendiagramm (ist also leider für Markus nichts). In diesem Liniendiagramm kann man einstellen, was dort angezeigt werden soll und was man ausblenden möchte. Diese Diagramm gibt einen sehr genauen Einblick, was auf dem Rechner los ist, auch wenn dort Sachen nur zeitweise auftreten.

      Wer das nutzen möchte und Fragen zur Auswertung des Diagramms und zum Ausblenden und Anzeigen einzelner Bestandteile hat, kann sich hier melden. Ich versuche das so gut wie möglich zu beantworten.
      Am Anfang sieht das Diagramm unter Umständen so aus (alles eingeblendet):



      Blendet man nur die Prozessorzeit ein, sieht das dann so aus:



      Alles wird mit Linien in unterschiedlichen Farben gezeigt. Führt man die Maus auf eine Linie, wird der Pressname des Prozesses angezeigt, der die Auslastung verursacht. Man sieht in meinem Beispiel schon, dass bei mir in der ganzen Zeit nicht viel los war und der IE die höchste Auslastung verursacht hat.

      Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von Paule ()

    • Erweiterte Anwendungsmöglichkeit II: Systemdateien ab Vista automatisch auf Integrität testen

      Bei Fehlern im Betriebssystem kann es hilfreich sein, Systemdateien auf ihre Integrität hin testen und reparieren zu lassen. Mit folgenden Einweisungen werden die Systemdateien überprüft und repariert. Man erhält als Zusatz ein gekürztes LOG, aus dem sich ableiten lässt, ob Systemdateien defekt waren, ob sie repariert werden konnten, welche Dateien defekt waren oder sind und wie sie repariert werden vielleicht repariert werden können, wenn das nicht autömatisch geht:

      ####################################################
      Das tun:
      • Von hier den PPFScanner herunterladen und die ZIP in einen eigenen Ordner entpacken (zum Beispiel nach C:\PPFS).
      • PPFScan.exe starten.
      • Lass auf Nachfrage des Programms die 64Bit Version des Scanners starten.
      • In das Texteingabefeld über dem Button Script ausführen folgenden Text einfügen (das was in der Box steht - ohne das Wort Quellcode und die Zeilennummern). Achte darauf, dass dir der gesammte Inhalt der Box angezeigt wird:

      Quellcode

      1. CREATE_FOLDER->C:\PPF_Scan3
      2. CREATE_FOLDER->C:\PPFS_Tools
      3. CREATE_BATCH_FILE->C:\PPFS_Tools\SFC_BATCH.BAT
      4. WRITE_BATCH->SFC /SCANNOW
      5. WRITE_BATCH->findstr /c:"[SR]" %windir%\logs\cbs\cbs.log > C:\PPF_Scan3\sfcdetails.txt
      6. WRITE_BATCH->EXPLORER /e,C:\PPF_Scan3
      7. WRITE_BATCH->notepad C:\PPF_Scan3\sfcdetails.txt
      8. OPEN->C:\PPFS_Tools\SFC_BATCH.BAT
      9. SLEEP->2000
      10. WAIT_FOR_TERMINATE->SFC.exe
      11. END->
      Alles anzeigen

      • Klicke dann auf den Button Script ausführen und bestätige die erscheinende
        Messagebox mit Ja.
      • Warte, bis der Scanner sich selbst beendet.
      • Lasse das Script bei einer Meldung nicht abbrechen!
      • Es befinden sich im Ordner C:\PPF_Scan3 dann einige Textdateien. Lade bitte alle Dateien, die du dort findest, bei workupload.com/ hoch und poste die Downloadlinks hier im Forum.
      ####################################################

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Paule ()

    • Das Schreiben von Scripten

      Der PPFScanner bringt eine eigene kleine „Programmiersprache“ mit über 200 internen Befehlen mit, mit denen sich Scripte für den Scanner schreiben lassen. Über diese Befehle können nicht nur interne Funktionen des Scanners angesprochen werden, sondern sie ermöglichen in großem Rahmen auch das Nachladen und die Steuerung von externen Programmen. Das bedeutet natürlich auch, dass andere Scripting Engines ebenfalls nachgeladen und auch angesprochen werden können (Javascript und VB-Script über den Windows Script Host, auch Powershell und Batch zum Beispiel – aber auch Autoit und XProfan durch Nachladen eines Interpreters durch das Script des Scanners).

      Scripte können im Texteingabefeld für Scripte des Scanners geschrieben werden:


      Um das Script zu starten, muss der Button Script ausführen angeklickt werden:



      Ein Scriptingbefehl besteht immer aus einem Kommando (dem Befehl selbst) und den Parametern des Befehls. Alles was vor einem -> Zeichen steht, interpretiert der Scanner als Befehl. Hinter dem -> Zeichen befinden sich die Parameter des Befehls. Es gibt Befehle, die nur aus einer Zeile bestehen; es gibt aber auch mehrzeilige Befehle.

      Beispiel für einen einzeiligen Befehl ohne Parameter:

      Quellcode

      1. SCANLIST->



      Beispiel für einen einzeiligen Befehl mit einem Parameter:

      Quellcode

      1. REGISTRY_ENUM->HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion


      Beispiel für einen mehrzeiligen Befehl mit 2 Parametern:

      Quellcode

      1. REGISTRY_SEARCH->HKEY_CURRENT_USER\
      2. ->.dLL
      Beispiel für einen mehrzeiligen Befehl mit 4 Parametern:

      Quellcode

      1. SEARCH_FILES_WITH_INFOS->*.EXE
      2. ->C:\
      3. ->Joosoft,Softtonic
      4. ->CompanyName
      Die Scriptingbefehle sind in der Hilfedatei Scripting.chm mit Beispielen erklärt, die im Paket des Scanners enthalten ist. Diese Hilfedatei kann über das Menü des Scanners unter Hilfe und Die Scriptingbefehle aufgerufen werden. Die Befehle sind dort nach ihrer Funktion in Gruppen unterteilt:


      Nach dem Klick auf den Button Script ausführen testet der Scanner das Script zuerst daraufhin, ob irgendwelche Fehler im Script enthalten sind. Findet er welche, wird das Script gar nicht erst ausgeführt und im Textfeld mit blauer Schrift auf der rechten Seite findet man die Fehler, die der Scanner beim Testen gefunden hat:


      Hier wurde zum Beispiel das Laufwerk nicht mit angegeben, in den die Scandateien mittels COPY_SCANFILES kopiert werden sollen.

      Ist das auszuführende Script gültig, wird vor dem Ausführen immer eine Messagebox angezeigt, bei der sich der User entscheiden kann, ob er das Script wirklich ausführen möchte:

      Erst nach dem Klick auf den Button Ja wird das Script wirklich ausgeführt. Das ermöglicht es fast immer, die Syntax eines geschriebenen Scripts zuerst einmal auf Korrektheit zu testen, ohne dass das Script ausgeführt werden muss. Bei einem Klick auf Nein wird wirklich nichts von dem Script ausgeführt – auch die Befehle, die vor dem Fehler standen, werden nicht ausgeführt.

      Kommt es während der Scriptausführung zu einem Fehler (ein benötigter Ordner ist zum Beispiel nicht oder nicht mehr vorhanden), kann es zu weiteren Meldungen des Scanners kommen, bei denen der User gefragt wird, ob er die Scriptausführung abbrechen möchte:

      Solche Abbruchanfragen erscheinen aber nur bei einigen Befehlen in einigen Fällen, bei denen dann eine weitere Ausführung des Scripts eventuell nicht sinnvoll wäre.
    • Ansteuerung von externem Code durch Umgebungsvariablen

      Der Scanner verfügt über einige Möglichkeiten, Umgebungsvariablen zu setzen und auf diesen unter anderem auch Parsingergebnisse, gefunde Dateien und in den Scanner getätigte Eingaben abzulegen.

      Startet man über den Scanner die Runtime eines Scripting Engines (zum Beispiel Powershell, den Windows Script Host oder auch die Kommandozeile von Windows), werden die gesetzten Umgebungsvariablen durch Vererbung an den neuen Prozess übergeben und sind dort von Code, der in diesem Engine läuft, nutzbar. Damit ist die Funktionalität des Scanners jederzeit über Scripte erweiterbar, die in anderen (beliebigen) Scriptingengines laufen.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Paule ()