powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / FAT12
25 сообщений из 32, страница 1 из 2
FAT12
    #37696570
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Вот пытаюсь разобрать FAT12, да вот ничего не сходится описание с действительностью.
Если я правильно понял описание, в конце кластера должно быть адрес следующего кластера файла, ну а FFF - конец.
Так вот - я ничерта не вижу! Нет никаких адресов, концов!
В кластере по идее 1 сектор, ну так ведь? 512 байт по идее.
В конце сектора не вижу никаких FFF и ничерта подобного.
Дискетку просматриваю WinHEX-ом.
...
Рейтинг: 0 / 0
FAT12
    #37696601
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Seegile,

ты неправильно понял. адрес следующего кластера - хранится в таблице фат, а не в кластерах.
и не адрес кластера, а индекс в таблице - отвечающий за слудующий кластер.

з.ы. именно по фат 12 не спец, говорю про фат в общем.
может фат 12 действительно отличается от других фатов.
...
Рейтинг: 0 / 0
FAT12
    #37696603
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeegileВ кластере по идее 1 сектор, ну так ведь? 512 байт по идее.
опять же. не знаю как в фат 12, но в остальных фатах - размер кластера вроде кратен сектору, но не обязательно равен ему. узнать о размере кластера можно в загрузочном секторе.
...
Рейтинг: 0 / 0
FAT12
    #37696617
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотреть надо байты самой File Allocation Table
На дискете нулевой сектор - это BR (BPB), затем сразу лежат секторы, отведённые под две копии FAT (а затем, кластеры, занятые корневой директорией; ну и затем - кластеры с данными ФС).
Так вот. Для FAT12 каждые 3 байта в таблице FAT однозначно привязаны к каждому кластеру области данных, и содержат указатель. Содержимое указателя определяет содержимое соответствующего кластера...
http://ru.wikipedia.org/wiki/FAT

Посмотрите содержимое кластеров, соответствующих корневому каталогу - каждая 32-байтная запись в смещении 0x14-0x15 содержит адрес кластера, соответствующий этой записи. При разборе - вы находите и сам этот кластер (это будут данные), и соответствующие 3 байта в FAT - и по содержимому этиз 3 байт действуете далее (находите следующий кластер; определяете, что это конец размещения, etc...)
...
Рейтинг: 0 / 0
FAT12
    #37696623
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN, где эта таблица? Сижу несколько дней, перечитываю статьи, на википедии был, на дискете не могу найти эту таблицу. Есть "список файлов", пт.е. 32 байтные записи, есть заголовок FAT, который в загрузочном секторе, что это за таблица?
...
Рейтинг: 0 / 0
FAT12
    #37696626
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM, да читал я эту статью! Нет на дискете никаких копий, и никаких TABL-ов File Allo.
Дискету форматировал в XP. Что за чертовщина?
...
Рейтинг: 0 / 0
FAT12
    #37696629
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГДЕ? Где эти кластеры? Где они? Я самоубьюсь.
...
Рейтинг: 0 / 0
FAT12
    #37696640
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Великий прогресс похоже! Нашёл я мелкую надпись после BPB! Успех! Буду соображать дальше.
ZyK_BotaN, AndreTM, спасибо большое за внесение ясности!
...
Рейтинг: 0 / 0
FAT12
    #37696660
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не понял я ничего!
Есть файл размером в 513 байт на дискете.
Есть данные "F0 FF FF 03 F0 FF" по адресу 0200h.

Ну и где тут что? "03" - это похоже на сектор следующего куска файла, т.е. первые 512 байт данных располагаются на втором секторе.

Не понимаю.
...
Рейтинг: 0 / 0
FAT12
    #37696667
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeegileНет, не понял я ничего!
Есть файл размером в 513 байт на дискете.
Есть данные "F0 FF FF 03 F0 FF" по адресу 0200h.

Ну и где тут что? "03" - это похоже на сектор следующего куска файла, т.е. первые 512 байт данных располагаются на втором секторе.

Не понимаю.

это ты то за данные привел? таблицу фат?
есть корневой каталог. в нем индексы из таблицы(это указатели на файлы хранящиеся в каталоге).
идем по данному адресу в таблицу.
i-я запись отвечает за i-й кластер. если там число больше или равно 0x0FF8, то в данном кластере - конец файла. если же меньшее число(например j), то оно означает j-ю запись в таблице(ну и j-й кластер соответственно) где находится продолжение файла.
...
Рейтинг: 0 / 0
FAT12
    #37696670
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Seegile , поищите и почитайте книжки времён DOS. Там структура FATxx много где рассматривается достаточно подробно (это сейчас не принято изучать такие структуры данных). А то вы, судя по всему, даже не различаете физическую (секторную) и логическую (кластерную) структуры диска... И даже о том, что "F0 FF FF" является сигнатурой начала FAT, - и не подозреваете
И статьи в Википедии - не панацея, а указатель на то, что почитать (ходите дальше по ссылкам)...
Вы бы лучше чформулировали, что пытаетесь написать - смотришь, советы были бы более конкретными.
...
Рейтинг: 0 / 0
FAT12
    #37696739
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeegileВ кластере по идее 1 сектор, ну так ведь?
Для FAT12 обычно 2 сектора.

SeegileГДЕ? Где эти кластеры? Где они? Я самоубьюсь.
Погуглите нортон утилиты под дос, что ли. Сделайте досовскую загрузочную дискетку и запустите Disk Editor.
...
Рейтинг: 0 / 0
FAT12
    #37696910
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может вам образ дискеты залить?
Не думаю что оно вам надо.
У меня только один вопрос: где эти указатели кластеров файла. Может смещение кто даст?
...
Рейтинг: 0 / 0
FAT12
    #37696911
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же вас еще понесло.
Первый указатель записан в 32 байтовой записи. А если файл порван по кускам и разбросан где то там, тут возникает мега вопрос, а как узнать следующий за первым кластер?
...
Рейтинг: 0 / 0
FAT12
    #37696913
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerДля FAT12 обычно 2 сектора.

Погуглите...

Может быть вам погуглить?
...
Рейтинг: 0 / 0
FAT12
    #37696915
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видите ли, уважаемый, я ковырялся с фат12 и писал программу для форматирования дискет с защитой от копирования ещё тогда, когда гугля не было. И как-то ухитрялся даже обойтись при этом без идиотских вопросов.
...
Рейтинг: 0 / 0
FAT12
    #37696922
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer, о, уважаемый, так может быть вы напишите точное смещение всех этих таблиц?
Сижу, ковыряю, статьи читаю, ничего не сходится, не понимаю.
Может статьи такие, для "опытных", которые уже знают.
...
Рейтинг: 0 / 0
FAT12
    #37696923
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По идее - заголовок FAT
...
Рейтинг: 0 / 0
FAT12
    #37696924
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее непонятная но интересная запись по смещению 0200h. Возможно это то, что мне нужно.
...
Рейтинг: 0 / 0
FAT12
    #37696925
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее, по смещению 1400h идёт аналогичная запись "F0 FF FF 03 F0 FF", это видимо и есть копия FAT.
Далее список файлов директорий
...
Рейтинг: 0 / 0
FAT12
    #37696926
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По смещению 0200h и 1400h что находится? Таблицы FAT, в которых и есть кластеры файлов?
...
Рейтинг: 0 / 0
FAT12
    #37696929
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если верить сообщению AndreTM, тогда всё правильно.
После BPB как раз и идут две копии FAT.
Самоубийство можно откласть. Я хоть теперь знаю что оно "существует".

Спасибо всем!
...
Рейтинг: 0 / 0
FAT12
    #37696931
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F0 FF FF (сигнатура) 03 F0 FF (индексы)
А softwarer писал "да я да я гугла небыло еще"...
...
Рейтинг: 0 / 0
FAT12
    #37697254
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Seegile F0 FF FF (сигнатура)Это не только сигнатура, но ещё и fake-запись для кластеров 0 и 1.
...
Рейтинг: 0 / 0
FAT12
    #37697367
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, не верю.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / FAT12
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]