Путешествие по NTFS
Рассказ о NTFS был бы неполным без практической иллюстрации техники разбора файловой записи "руками". До сих пор мы витали в облаках теоретической абстракции. Пора спускаться на грешную землю.
Воспользовавшись любым дисковым редактором, например, Disk Probe, попробуем декодировать одну файловую запись вручную. Найдем сектор, содержащий сигнатуру "FILE" в его начале (не обязательно брать первый встретившийся сектор). Он может выглядеть, например, так:
: 00 01 02 03 04 05 06 07 ¦ 08 09 0A 0B 0C 0D 0E 0F
00000000: 46 49 4C 45 2A 00 03 00 ¦ 60 79 1A 04 02 00 00 00 FILE* ¦ `y>¦O
00000010: 01 00 01 00 30 00 01 00 ¦ 50 01 00 00 00 04 00 00 O O 0 O PO ¦
00000020: 00 00 00 00 00 00 00 00 ¦ 04 00 03 00 00 00 00 00 ¦ ¦
00000030: 10 00 00 00 60 00 00 00 ¦ 00 00 00 00 00 00 00 00 > `
00000040: 48 00 00 00 18 00 00 00 ¦ B0 D5 C9 2F C6 0B C4 01 H ^ --г/¦>-O
00000050: E0 5A B3 7B A9 FA C3 01 ¦ 90 90 F1 2F C6 0B C4 01 рZ¦{й·+OРРё/¦>-O
00000060: 50 7F BC FE C8 0B C4 01 ¦ 20 00 00 00 00 00 00 00 P¦-¦L>-O
00000070: 00 00 00 00 00 00 00 00 ¦ 00 00 00 00 05 01 00 00 ¦O
00000080: 00 00 00 00 00 00 00 00 ¦ 00 00 00 00 00 00 00 00
00000090: 30 00 00 00 70 00 00 00 ¦ 00 00 00 00 00 00 02 00 0 p O
000000A0: 54 00 00 00 18 00 01 00 ¦ DB 1A 01 00 00 00 01 00 T ^ O ->O O
000000B0: B0 D5 C9 2F C6 0B C4 01 ¦ B0 D5 C9 2F C6 0B C4 01 --г/¦>-O--г/¦>-O
000000C0: B0 D5 C9 2F C6 0B C4 01 ¦ B0 D5 C9 2F C6 0B C4 01 --г/¦>-O--г/¦>-O
000000D0: 00 00 00 00 00 00 00 00 ¦ 00 00 00 00 00 00 00 00
000000E0: 20 00 00 00 00 00 00 00 ¦ 09 03 49 00 6C 00 66 00 0¦I l f
000000F0: 61 00 6B 00 2E 00 64 00 ¦ 62 00 78 00 00 00 00 00 a k . d b x
00000100: 80 00 00 00 48 00 00 00 ¦ 01 00 00 00 00 00 03 00 А H O ¦
00000110: 00 00 00 00 00 00 00 00 ¦ ED 04 00 00 00 00 00 00 э¦
00000120: 40 00 00 00 00 00 00 00 ¦ 00 E0 4E 00 00 00 00 00 @ рN
00000130: F0 D1 4E 00 00 00 00 00 ¦ F0 D1 4E 00 00 00 00 00 ЁTN ЁTN
00000140: 32 EE 04 D9 91 00 00 81 ¦ FF FF FF FF 82 79 47 11 2ю¦-С Б ВyG<
000001F0: 00 00 00 00 00 00 00 00 ¦ 00 00 00 00 00 00 03 00 ¦
: 00 01 02 03 04 05 06 07 ¦ 08 09 0A 0B 0C 0D 0F 0F