- •2.1. Используя данные п. 1.2 и 1.3, разработать приложение Windows для чтения произвольного сектора заданного логического диска.
- •Текст программы:
- •2.2. С помощью разработанного приложения прочитать системные структуры данных br, резервную копию br, bf_bpb, fsInfo для логического диска j: (usb-флеш-накопитель).
- •2.3. Модифицировать приложение для чтения информации о типе, расположении на диске и содержимом fat, а также содержимом секторов задаваемого кластера диска.
- •Корневой каталог и каталог s1
- •Содержимое кластера 3, каталог s2
Содержимое кластера 3, каталог s2
Смещение |
Размер,байт |
Содержимое в Х16 |
Расшифровка |
Текущий каталог |
|||
00h |
32 |
2E 20 20 20 20 20 20 20 20 20 20 10 00 40 50 02 86 40 86 40 00 00 02 51 40 86 00 03 00 00 00 00 |
Имя:. Расширение: Атрибуты: подкаталог Зарезервировано: Время создания: 01:17:58 Дата создания: 6.04.2012 Первый кластер: 3 Размер файла: 0 байт |
Предыдущий каталог |
|||
20h |
32 |
2E 2E 20 20 20 20 20 20 20 20 20 10 00 40 50 02 86 40 86 40 00 00 02 51 40 86 00 00 00 00 00 00 |
Имя:.. Расширение: Атрибуты: подкаталог Зарезервировано: Время создания: 01:17:58 Дата создания: 6.04.2012 Первый кластер: 0 Размер файла: 0 байт |
Файлы подкаталога (с длинными именами) |
|||
Файл Image_Pic_1.JPG |
|||
40h |
32 |
42 00 70 00 67 00 00 FF FFFFFF 0F 00 C3 FF FF FF FFFFFFFFFFFFFFFFFF 00 00 FF FF |
Последний элемент длинного имени pg 0х0F 0x00 Контрольная сумма
|
60h |
32 |
01 00 49 00 6D 00 61 00 67 00 65 0F 00 C3 00 5F 00 50 00 69 00 63 00 5F 00 31 00 00 00 2E 00 6A |
Номер фрагмента:1 Символы 1-5 имени: Image 0x0F Байт флагов Контрольная сумма Символы 6-11 имени:_Pic_1 Номер первого кластера: 0 Символы 12-13 имени:.J |
80h |
32 |
49 4D 41 47 45 5F 7E 32 4A 50 47 20 20 00 02 50 40 86 40 86 00 00 4D 02 40 72 00 AA 00 00 8A 2A |
Image_~.JPG 0х20 NT Время создания: 00:17:58 Дата создания:6.04.2012 Время последнего доступа:06.04.2012 0х0000 Время посл. модификации:9:40:4 Дата посл. модификации:18:3:2012 Первый кластер:4 Размер файла:35 370 |
A0h |
32 |
42 00 70 00 67 00 00 FF FFFFFF 0F 00 63 FF FF FF FFFFFFFFFFFFFFFFFF 00 00 FF FF |
42 00 70 00 67 00 00 FF FFFFFF 0F 00 63 FF FF FF FFFFFFFFFFFFFFFFFF 00 00 FF FF
|
|
Файл Image_Pic_2.JPG |
||
C0h |
32 |
01 00 49 00 6D 00 61 00 67 00 65 0F 00 63 00 5F 00 50 00 69 00 63 00 5F 00 32 00 00 00 2E 00 6A |
Номер фрагмента:1 Символы 1-5 имени: Image 0x0F Байт флагов Контрольная сумма Символы 6-11 имени:_Pic_2 Номер первого кластера: 0 Символы 12-13 имени:.J |
E0h |
32 |
49 4D 41 47 45 5F 7E 32 4A 50 47 20 04 00 02 50 40 86 40 86 00 00 4D 79 40 72 00 0D 00 00 8C 0F |
Image_~.JPG 0х20 NT Время создания: 00:17:58 Дата создания:6.04.2012 Время последнего доступа: 6.04.2012 0х0000 Время посл. модификации:9:40:50 Дата посл. модификации:18:3:2012 Первый кластер:13 Размер файла:34 575 |
Каталог S2 |
|||
140h |
32 |
53 35 20 20 20 20 20 20 20 20 20 20 20 10 00 00 40 85 40 85 9D 7D 21 00 9B A3 02 50 00 19 00 00 00 00 |
Имя: S5 Расширение: Атрибуты: подкаталог Зарезервировано Время создания: 19:29:6 Дата создания: 5.04.2012 Первый кластер:25 Размер файла: 0 байт |
2.7.Используя приложение разработанное в п.2.3, найдем в FAT и прочитаем цепочки кластеров для 2 файлов:
-
Корневого каталога;
-
Двух подкаталогов.
Представим результаты в виде последовательности соответствующих кластерам файла элементов FAT.
Последовательность кластеров для файла Image_pic_2.jpgкорневого каталога:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
107 |
00 00 00 6C |
108 |
2 |
108 |
00 00 00 6D |
109 |
3 |
109 |
00 00 00 6E |
110 |
4 |
110 |
00 00 00 6F |
111 |
5 |
111 |
00 00 00 70 |
112 |
6 |
112 |
00 00 00 71 |
113 |
7 |
113 |
00 00 00 72 |
114 |
8 |
114 |
00 00 00 73 |
115 |
9 |
115 |
0F FF FFFF |
Конец файла |
Последовательность кластеров для файла Image_pic_1.jpgкорневого каталога:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
98 |
00 00 00 63 |
99 |
2 |
99 |
00 00 00 64 |
100 |
3 |
100 |
00 00 00 65 |
101 |
4 |
101 |
00 00 00 66 |
102 |
5 |
102 |
00 00 00 67 |
103 |
6 |
103 |
00 00 00 68 |
104 |
7 |
104 |
00 00 00 69 |
105 |
8 |
105 |
00 00 00 6A |
106 |
9 |
106 |
0F FF FFFF |
Конец файла |
Последовательность кластеров для файла Image_pic_1.jpg каталогаS1:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
117 |
00 00 00 76 |
118 |
2 |
118 |
00 00 00 77 |
119 |
3 |
119 |
00 00 00 78 |
120 |
4 |
120 |
00 00 00 79 |
121 |
5 |
121 |
00 00 00 7A |
122 |
6 |
122 |
00 00 00 7B |
123 |
7 |
123 |
00 00 00 7C |
124 |
8 |
124 |
00 00 00 7D |
125 |
9 |
125 |
0F FF FFFF |
Конец файла |
Последовательность кластеров для файла Image_pic_2.jpg каталогаS1:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
126 |
00 00 00 7F |
127 |
2 |
127 |
00 00 00 80 |
128 |
3 |
128 |
00 00 00 81 |
129 |
4 |
129 |
00 00 00 82 |
130 |
5 |
130 |
00 00 00 83 |
131 |
6 |
131 |
00 00 00 84 |
132 |
7 |
132 |
00 00 00 85 |
133 |
8 |
133 |
00 00 00 86 |
134 |
9 |
134 |
0F FF FFFF |
Конец файла |
Последовательность кластеров для файла Image_pic_1.jpg каталогаS2:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
4 |
00 00 00 05 |
5 |
2 |
5 |
00 00 00 06 |
6 |
3 |
6 |
00 00 00 07 |
7 |
4 |
7 |
00 00 00 08 |
8 |
5 |
8 |
00 00 00 09 |
9 |
6 |
9 |
00 00 00 0A |
10 |
7 |
10 |
00 00 00 0B |
11 |
8 |
11 |
00 00 00 0C |
12 |
9 |
12 |
0F FF FFFF |
Конец файла |
Последовательность кластеров для файла Image_pic_2.jpg каталогаS2:
№ |
Номер предыдущего кластера |
Элемент FAT |
Адрес следующего кластера |
1 |
13 |
00 00 00 0E |
14 |
2 |
14 |
00 00 00 0F |
15 |
3 |
15 |
00 00 00 10 |
16 |
4 |
16 |
00 00 00 11 |
17 |
5 |
17 |
00 00 00 12 |
18 |
6 |
18 |
00 00 00 13 |
19 |
7 |
19 |
00 00 00 14 |
20 |
8 |
20 |
00 00 00 15 |
21 |
9 |
21 |
0F FF FFFF |
Конец файла |