Announcement

Collapse
No announcement yet.

Fileshredder FAT/Verweis der gelöschten Datei löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fileshredder FAT/Verweis der gelöschten Datei löschen

    Hallo!

    Ich habe einen eigenen Fileshredder entwickelt.
    Mittels Memory Mapped File (nocache) blende
    ich die zu löschende Datei in den Speicher und
    überschreibe diese mittels Gutmann-Methode.
    Anschliessend lösche ich die Datei.
    Das klappt alles, aber Undelete-Tools wie z.B.
    Davory finden die Einträge der FAT bzw. des
    Dateiverzeichnisses. Die damit rekonstruierten
    Dateien sind zwar nutzlos (überschrieben), aber
    ich möchte gerne den Verweis auf die gelöschte Datei endgültig löschen, damit low-level-Tools beim Suchen ins Leere laufen.
    Für einen Tipp wäre ich sehr dankbar!

    Interessant wäre sicher auch, wie man mit Delphi einen Zugriff auf die FAT bzw. der File-Verzeichnis-Tabelle (je nach BS) realisiert.

    Vielen Dank vorab, Hans

  • #2
    Nenn doch die Datei einfach vor dem Loeschen um. Ich weiss aber nicht ob der FAT-Eintrag immer wiederverwertet wird

    Comment


    • #3
      Hi Robert,

      das Renamen bringt nichts.
      Die Datei wird trotzdem gefunden.

      Selbst wenn du sagen wir 20 neue Dateien
      an der gleichen Stelle anlegst renamest und löscht, werden 20 Dateien mit dem gleichen Namen im gleichem Verzeichnis angelegt! Diese verwaltet Windows mit einem Index.
      (Bsp.: Datei: Löschen.Dat)
      1 #öschen.dat
      2 #öschen.dat

      oder sogar so (falls man das erste Zeichen renamed:
      1 #öschen.Dat(0)
      1 #öschen.Dat(1)
      usw.....

      Dies umgehe ich ja - hoffentlich - mit den MMF - aber das Ziel war ja die FAT-Einträge zu löschen, um wirklich alle Reste zu kicken.

      Gruss, Han

      Comment


      • #4
        Hilft es nicht wenn du einen neuen Namen ausknobelst?<br>
        Ansonsten musst du wohl die Festplatte direkt aufmachen und die FAT-Eintraege selber interpretieren. Such mal ueber Google ob es da schon was gibt (es gibt, aber wohl ueberwiegend Shareware)

        Comment


        • #5
          jo, genau nach diesem Code fragte ich ja.
          Ich möchte dafür keine Shareware benutzen.
          Unter DOS wäre es kein Problem, aber mit Delphi
          bin ich hier auf Tipps angewiesen.

          Das es geht, ist klar - denn letztendlich
          durchsucht z.B. Davory ja die Platte nach
          gelöschten Einträgen.
          Kann doch eigentlich nicht so schwer sein.
          Möglicherweise geben die hier angesiedelten Profis derartige Infos ungern weiter?

          Gruss, Han

          Comment


          • #6
            Hallo Hans,

            ich denke, dass deine Methode sehr aufwendig wird. Zum einen musst du prüfen, welches Dateisystem vorliegt (FAT16, FAT32 oder NTFS) und entweder die FAT und deren Kopien. durchlaufen und die Cluster, in denen die Daten liegen, überschreiben.
            Unter NT/2K/XP ist es noch etwas anders.
            Hier muss die Master File Table gelesen werden,
            - Belegungstabellenbits löschen;
            - MFT-Eintrag freigeben
            - Katalogindex löschen
            - Cluster der Dateidaten überschreiben.
            Leider gibts auch Kopien der MFT usw.

            Ein sehr gutes Löschtool ist z.B. Eraser.
            Der Source liegt als Freeware vor.
            Schau doch mal in den C++-Code, dann siehst du,
            wie du die Einträge restlos löscht.
            Ich konnte in dem Source beim "Überfliegen"
            keinerlei direkte Zugriffe auf Cluster per NT-API oder *.vxd-Methode (Int13 Ext.) erkennen.
            Jedenfalls findest du sicher gute Infos, die
            sich in Delphi übernehmen lassen.

            Eine Freeware, die dir den direkten Zugriff auf
            die HDD-Cluster erlaubt, gibts auch.
            Such mal im Web nach "Direct Disk Acces" AND Delphi.

            Trotzdem, deine Frage war sehr interessant!
            Leider kann ich dir mit Code nicht weiterhelfen, aber die o.g. Freeware ist ein erster Schritt. Der zweite Schritt besteht in
            der Microsoft Knowledgebase. Dort findet sich sicher etwas über den Zugriff auf die MFT.
            Dürfte in die Richtung: DDK-SDK oder DeviceIOControl gehen.

            J

            Comment

            Working...
            X