|
6.1.1. Laufwerkscan
Laufwerkscan ist der
Scan-Prozess des niedrigen Niveaus aller Eintragungen von den Wurzel-Folder
(FAT-Dateisystem) FAT12, FAT16, FAT32 oder von der Stammdateitabelle (MFT)
NTFS, NTFS5.
Die Zielsetzung ist, gelöschte
Eintragungen zu finden und anzuzeigen. Trotz der unterschiedlichen Datei- und
Foldereintragungsstruktur in den unterschiedlichen Dateisystemen haben die
beiden die Allgemeine-Dateiattribute, wie man in der Tabelle sehen kann:
Common File Attributes
(Allgemeine-Dateiattribute)
|
FAT12, FAT16, FAT32
|
NTFS, NTFS5
|
|
Root File Allocation Table
(Wurzel-Folder, FAT-Dateisystem)
|
Master File Table
(Stammdateitabelle)
|
|
Table Location (Tabelleposition)
|
Table Location (Tabelleposition)
|
|
File Size (Dateigröße)
|
File Size (Dateigröße)
|
|
Table Structure (Tabellestruktur)
|
Table Structure (Tabellestruktur)
|
|
File Name (Dateiname)
|
File Name (Dateiname)
|
|
Date/Time Created (Datum/Zeit der
Schaffung)
|
Date/Time Created (Datum/Zeit der
Schaffung)
|
|
Attributes (Attribute)
|
Attributes (Attribute)
|
|
Existing/Deleted Status
(Existenzstatus/Löschen-Status)
|
Existing/Deleted Status
(Existenzstatus/Löschen-Status)
|
Weil jede Dateitabelle, Folder, oder
Datei eine Position, Größe und bestimmte Struktur hat, ist es möglich, Daten
des Laufwerkes vom Anfang bis zum Ende zu scannen. Man kann nicht nur die
aktuellen Daten, sondern auch die Aufzeichnungen lesen, die in der Dateitabelle
eingehalten worden sind. Die Informationen können angezeigt und festgesetzt
werden.
ANMERKUNG: Die gelöschten Eintragungen
werden anders markiert. Das ist von dem Dateisystem abhängig. Z.B. im FAT wird
jede gelöschte Eintragung, Datei oder Folder mit dem ASCII-Symbol 229 (OxE5)
als das erste Symbol des Eintragungsdateinamens markiert. In NTFS hat eine
gelöschte Eintragung ein spezielles Attribut in der Dateiüberschrift, das
zeigt, ob die Datei gelöscht worden ist oder nicht.
Scan des
FAT16-Folders:
In diesem Beispiel enthält der Folder 3
Eintragungen, eine von denen gelöscht worden war.
Die erste Eintragung ist ein vorhandenen Folder,
der "My Folder" genannt worden ist. (Long entry und short entry (lange
Eintragung und kurze Eintragung))
0003EE20 41 4D 00 79 00 46 00
6F 00 6C 00 0F 00 09 64 00 AM.y.F.o.l....d.
0003EE30 65 00 72 00 00 00 FF
FF FF FF 00 00 FF FF FF FF e.r...yyyy..yyyy
0003EE40 4D 59 46 4F 4C 44 45
52 20 20 20 10 00 4A C4 93 MYFOLDER ..JA"
0003EE50 56 2B 56 2B 00 00 C5
93 56 2B 02 00 00 00 00 00 V+V+..A"V+......
Die zweite Eintragung ist
eine gelöschte Datei, die "MyFile.txt" genannt worden ist. (Long entry und
short entry (lange Eintragung und kurze Eintragung))
0003EE60 E5
4D 00 79 00 46 00 69 00 6C 00 0F 00 BA 65 00 aM.y.F.i.l...?e.
0003EE70 2E 00 74 00 78 00 74
00 00 00 00 00 FF FF FF FF ..t.x.t.....yyyy
0003EE80 E5
59 46 49 4C 45 20 20 54 58 54 20 00 C3 D6 93 aYFILE TXT .AO"
0003EE90 56 2B 56 2B 00 00 EE
93 56 2B 03 00 33 B7 01 00 V+V+..i"V+..3..
Die dritte Eintragung ist
eine existierte Datei, die "Setuplog.txt." genannt worden ist. (Nur Long
entry (Nur lange Eintragung))
0003EEA0 53 45 54 55 50 4C 4F
47 54 58 54 20 18 8C F7 93 SETUPLOGTXT .??"
0003EEB0 56 2B 56 2B 00 00 03
14 47 2B 07 00 8D 33 03 00 V+V+....G+..?3..
0003EEC0 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
0003EED0 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
Das erste Symbol der gelöschten
Dateieintragung (MyFile.txt) wird durch das Symbol E5 markiert;
dadurch kann der Laufwerkscanner annehmen, daß diese Eintragung
gelöscht worden war.
Scan des NTFS5-Folders
(Windows 2000):
Für das Laufwerk haben wir die folgende
Parameter eingegeben:
-
-
-
-
MFT(Stammdateitabelle) startet
vom Offset 0x4000 (nicht-zersplittert)
-
MFT(Stammdateitabelle)-Größe
der Datenaufnahme von 1024 Bytes
-
MFT(Stammdateitabelle)-Aufzeichnungsgröße
von 1968 Aufzeichnungen
Während der Suche nach gelöschten Eintragungen können wir alle
MFT-1968-Aufzeichnungen seit dem absoluten Offset 0x4000 des Laufwerkes
durchlesen. Uns ist die MFT-Eintragung 57 besonders interessant, die den Offset
0x4000 + 57 * 1024 = 74752 = 0x12400 hat, weil es unsere vor kurzem gelöschte
Datei "My Presentation.ppt" enthält.
Hier ist die MFT-Eintragung Nummer 57
angezeigt:
Offset 0 1 2 3 4 5 6 7 8 9 A B
C D E F
00012400 46 49 4C 45 2A 00 03
00 9C 74 21 03 00 00 00 00 FILE*...?t!.....
00012410 47 00 02 00 30 00 00
00 D8 01 00 00 00 04 00 00 G...0...O.......
00012420 00 00 00 00 00 00 00
00 05 00 03 00 00 00 00 00 ................
00012430 10 00 00 00 60 00 00
00 00 00 00 00 00 00 00 00 ....`...........
00012440 48 00 00 00 18 00 00
00 20 53 DD A3 18 F1 C1 01 H....... SY?.nA.
00012450 00 30 2B D8 48 E9 C0
01 C0 BF 20 A0 18 F1 C1 01 .0+OHeA.A? .nA.
00012460 20 53 DD A3 18 F1 C1
01 20 00 00 00 00 00 00 00 SY?.nA. .......
00012470 00 00 00 00 00 00 00
00 00 00 00 00 02 01 00 00 ................
00012480 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
00012490 30 00 00 00 78 00 00
00 00 00 00 00 00 00 03 00 0...x...........
000124A0 5A 00 00 00 18 00 01
00 05 00 00 00 00 00 05 00 Z...............
000124B0 20 53 DD A3 18 F1 C1
01 20 53 DD A3 18 F1 C1 01 SY?.nA. SY?.nA.
000124C0 20 53 DD A3 18 F1 C1
01 20 53 DD A3 18 F1 C1 01 SY?.nA. SY?.nA.
000124D0 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
000124E0 20 00 00 00 00 00 00
00 0C 02 4D 00 59 00 50 00 .........M.Y.P.
000124F0 52 00 45 00 53 00 7E
00 31 00 2E 00 50 00 50 00 R.E.S.~.1...P.P.
00012500 54 00 69 00 6F 00 6E
00 30 00 00 00 80 00 00 00 T.i.o.n.0...^...
00012510 00 00 00 00 00 00 02
00 68 00 00 00 18 00 01 00 ........h.......
00012520 05 00 00 00 00 00 05
00 20 53 DD A3 18 F1 C1 01 ........ SY?.nA.
00012530 20 53 DD A3 18 F1 C1
01 20 53 DD A3 18 F1 C1 01 SY?.nA. SY?.nA.
00012540 20 53 DD A3 18 F1 C1
01 00 00 00 00 00 00 00 00 SY?.nA.........
00012550 00 00 00 00 00 00 00
00 20 00 00 00 00 00 00 00 ........ .......
00012560 13 00 4D 00 79 00 20
00 50 00 72 00 65 00 73 00 ..M.y. .P.r.e.s.
00012570 65 00 6E 00 74 00 61
00 74 00 69 00 6F 00 6E 00 e.n.t.a.t.i.o.n.
00012580 2E 00 70 00 70 00 74
00 80 00 00 00 48 00 00 00 ..p.p.t.^...H...
00012590 01 00 00 00 00 00 04
00 00 00 00 00 00 00 00 00 ................
000125A0 6D 00 00 00 00 00 00
00 40 00 00 00 00 00 00 00 m.......@.......
000125B0 00 DC 00 00 00 00 00
00 00 DC 00 00 00 00 00 00 .U.......U......
000125C0
00 DC 00 00 00 00 00 00 31 6E EB C4 04 00 00 00 .U......1neA....
000125D0 FF FF FF FF 82 79 47
11 00 00 00 00 00 00 00 00 yyyy,yG.........
000125E0 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
000125F0 00 00 00 00 00 00 00
00 00 00 00 00 00 00 03 00 ................ ...............
00012600 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 ................
Die MFT-Aufzeichnung hat eine vorbestimmte Struktur. Die hat
einen Attributesatz, der jede mögliche Datei der Folder-Parameter definiert.
Die MFT-Aufzeichnung fängt mit dem standardisierten
Dateiaufzeichnung-Überschrift an (erster fetter Abschnitt, Offset 0x00):
-
-
Offset zur Update-Sequence (2
Bytes)
-
Größe
der Update-Sequence (2 Bytes)
-
Protokolldatei-Sequencenummer
(LogFile Sequence Number, LSN, 8 Bytes)
-
-
Hinweiszahl (Reference Count,
2 Bytes)
-
Offset zur
Update-Sequence-Array (2 Bytes)
-
Markierungsfahnen (2 Bytes)
-
Reale Größe der
DATEI-Aufzeichnung (4 Bytes)
-
Zugeteilte Größe der
DATEI-Aufzeichnung (Allocated size of the FILE record, 4 Bytes)
-
Dateihinweise auf der
HAUPTDATEI-Aufzeichnung (8 Bytes)
-
Folgende
Attribut-Kennzeichnungsnummer (2 Bytes)
Die wichtigste Information dieses Blockes ist der gelöschte oder
vorhandene Dateizustand. Wenn Markierungsfahnenfeld (der roten Farbe) eine
"Bit-1"- Einstellung hat, bedeutet es, daß die Datei vorhanden ist. Wenn es
null gibt, war die Datei gelöscht worden.
Seit 0x48 haben wir standardisiertes
Information-Attribut (zweiter fette Abschnitt):
-
Zeit der Datei-Schaffung (8
Bytes)
-
Letzte
Datei-Modifizierungszeite (8 Bytes)
-
Letzte
Datei-Modifizierungszeite der Datei-Aufzeichnung (8 Bytes)
-
Dateizugriffszeit der
Datei-Aufzeichnung (8 Bytes)
-
DOS-Datei-Zugangserlaubnis (4
Bytes) 0x20 ist ein Archivattribut in unserem Fall
Laut dem standardisierten Attribut-Überschrift haben wir ein zum
DOS-Namensraum gehörigen Dateinameattribut als die kurzen Dateinnamen (dritter
fette Abschnitt, Offset0xA8); auch haben wir ein zum Win32-Namensraum gehörigen
Dateinameattribut als die lange Dateinamen (dritter fette Abschnitt,
Offset0x120):
-
Dateihinweise auf dem
Stammverzeichnis(8 bytes)
-
Datei-Modifizierungszeiten
(32 Bytes)
-
Zugeteilte Größe der Datei (8
Bytes)
-
Reale Größe der Datei (8
Bytes)
-
Markierungsfahnen (8 Bytes)
-
Länge des Dateinamens(1 Byte)
-
-
Dateiname (Länge des
Dateinamens * 2 Bytes)
In unserem Fall können wir Dateinamen, "My Presentation.ppt",
Dateischaffung und Modifizierungszeiten, Stammverzeichnis-Aufzeichnungsnummer
aus diesem Abschnitt herausziehen. Seit dem Offset 0x188 gibt es ein
Nichtresident-Datenattribut (grüner Sektion).
-
Attributtyp (4 bytes)
(z.B. 0x80)
-
Länge mit dem Überschrift (4
Bytes)
-
Nichtresident-Markierungsfahne
(1 Byte)
-
-
Offset zum Namen (2 Bytes)
-
Markierungsfahnen (2 Bytes)
-
Attribut-Kennzeichnungsnummer
(2 Bytes)
-
Starten von VCN (8 Bytes)
-
-
Offset zu den Datenlauf
(2 Bytes)
-
Compression-Unit-Size (2
Bytes)
-
Auffüllen (Padding, 4
Bytes)
-
Zugeteilte Größe des
Attributes (8 Bytes)
-
Reale Größe des Attributes (8
Bytes)
-
Initialisierte Daten-Größe
des Stromes(8 Bytes)
-
An diesem Abschnitt interessieren wir uns für "Compression-Unit-Size": Null
bedeutet "nicht-komprimiert" in unserem Fall. Auch es handelt sich um die
zugeteilte und reale Größe des Attributes: Die werden unserer Dateigröße
gleichgemacht (0xDC00 = 56320 Bytes). Und das letzte ist der Datenlauf (sehen
Sie das folgende Thema).
Previous <
Contents > Next
|