|
|
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Привет. Вот пытаюсь разобрать FAT12, да вот ничего не сходится описание с действительностью. Если я правильно понял описание, в конце кластера должно быть адрес следующего кластера файла, ну а FFF - конец. Так вот - я ничерта не вижу! Нет никаких адресов, концов! В кластере по идее 1 сектор, ну так ведь? 512 байт по идее. В конце сектора не вижу никаких FFF и ничерта подобного. Дискетку просматриваю WinHEX-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 18:20 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Seegile, ты неправильно понял. адрес следующего кластера - хранится в таблице фат, а не в кластерах. и не адрес кластера, а индекс в таблице - отвечающий за слудующий кластер. з.ы. именно по фат 12 не спец, говорю про фат в общем. может фат 12 действительно отличается от других фатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 19:53 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
SeegileВ кластере по идее 1 сектор, ну так ведь? 512 байт по идее. опять же. не знаю как в фат 12, но в остальных фатах - размер кластера вроде кратен сектору, но не обязательно равен ему. узнать о размере кластера можно в загрузочном секторе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 19:54 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Смотреть надо байты самой File Allocation Table На дискете нулевой сектор - это BR (BPB), затем сразу лежат секторы, отведённые под две копии FAT (а затем, кластеры, занятые корневой директорией; ну и затем - кластеры с данными ФС). Так вот. Для FAT12 каждые 3 байта в таблице FAT однозначно привязаны к каждому кластеру области данных, и содержат указатель. Содержимое указателя определяет содержимое соответствующего кластера... http://ru.wikipedia.org/wiki/FAT Посмотрите содержимое кластеров, соответствующих корневому каталогу - каждая 32-байтная запись в смещении 0x14-0x15 содержит адрес кластера, соответствующий этой записи. При разборе - вы находите и сам этот кластер (это будут данные), и соответствующие 3 байта в FAT - и по содержимому этиз 3 байт действуете далее (находите следующий кластер; определяете, что это конец размещения, etc...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:09 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, где эта таблица? Сижу несколько дней, перечитываю статьи, на википедии был, на дискете не могу найти эту таблицу. Есть "список файлов", пт.е. 32 байтные записи, есть заголовок FAT, который в загрузочном секторе, что это за таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:15 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
AndreTM, да читал я эту статью! Нет на дискете никаких копий, и никаких TABL-ов File Allo. Дискету форматировал в XP. Что за чертовщина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:18 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
ГДЕ? Где эти кластеры? Где они? Я самоубьюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:23 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
О! Великий прогресс похоже! Нашёл я мелкую надпись после BPB! Успех! Буду соображать дальше. ZyK_BotaN, AndreTM, спасибо большое за внесение ясности! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:34 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Нет, не понял я ничего! Есть файл размером в 513 байт на дискете. Есть данные "F0 FF FF 03 F0 FF" по адресу 0200h. Ну и где тут что? "03" - это похоже на сектор следующего куска файла, т.е. первые 512 байт данных располагаются на втором секторе. Не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 20:56 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
SeegileНет, не понял я ничего! Есть файл размером в 513 байт на дискете. Есть данные "F0 FF FF 03 F0 FF" по адресу 0200h. Ну и где тут что? "03" - это похоже на сектор следующего куска файла, т.е. первые 512 байт данных располагаются на втором секторе. Не понимаю. это ты то за данные привел? таблицу фат? есть корневой каталог. в нем индексы из таблицы(это указатели на файлы хранящиеся в каталоге). идем по данному адресу в таблицу. i-я запись отвечает за i-й кластер. если там число больше или равно 0x0FF8, то в данном кластере - конец файла. если же меньшее число(например j), то оно означает j-ю запись в таблице(ну и j-й кластер соответственно) где находится продолжение файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 21:10 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Seegile , поищите и почитайте книжки времён DOS. Там структура FATxx много где рассматривается достаточно подробно (это сейчас не принято изучать такие структуры данных). А то вы, судя по всему, даже не различаете физическую (секторную) и логическую (кластерную) структуры диска... И даже о том, что "F0 FF FF" является сигнатурой начала FAT, - и не подозреваете И статьи в Википедии - не панацея, а указатель на то, что почитать (ходите дальше по ссылкам)... Вы бы лучше чформулировали, что пытаетесь написать - смотришь, советы были бы более конкретными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 21:19 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
SeegileВ кластере по идее 1 сектор, ну так ведь? Для FAT12 обычно 2 сектора. SeegileГДЕ? Где эти кластеры? Где они? Я самоубьюсь. Погуглите нортон утилиты под дос, что ли. Сделайте досовскую загрузочную дискетку и запустите Disk Editor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2012, 23:25 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Может вам образ дискеты залить? Не думаю что оно вам надо. У меня только один вопрос: где эти указатели кластеров файла. Может смещение кто даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 04:52 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
К тому же вас еще понесло. Первый указатель записан в 32 байтовой записи. А если файл порван по кускам и разбросан где то там, тут возникает мега вопрос, а как узнать следующий за первым кластер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 04:57 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
softwarerДля FAT12 обычно 2 сектора. Погуглите... Может быть вам погуглить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 05:09 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Видите ли, уважаемый, я ковырялся с фат12 и писал программу для форматирования дискет с защитой от копирования ещё тогда, когда гугля не было. И как-то ухитрялся даже обойтись при этом без идиотских вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 05:30 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
softwarer, о, уважаемый, так может быть вы напишите точное смещение всех этих таблиц? Сижу, ковыряю, статьи читаю, ничего не сходится, не понимаю. Может статьи такие, для "опытных", которые уже знают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 07:32 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Далее непонятная но интересная запись по смещению 0200h. Возможно это то, что мне нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 07:40 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Далее, по смещению 1400h идёт аналогичная запись "F0 FF FF 03 F0 FF", это видимо и есть копия FAT. Далее список файлов директорий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 07:43 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
По смещению 0200h и 1400h что находится? Таблицы FAT, в которых и есть кластеры файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 07:45 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
Если верить сообщению AndreTM, тогда всё правильно. После BPB как раз и идут две копии FAT. Самоубийство можно откласть. Я хоть теперь знаю что оно "существует". Спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 07:55 |
|
||
|
FAT12
|
|||
|---|---|---|---|
|
#18+
F0 FF FF (сигнатура) 03 F0 FF (индексы) А softwarer писал "да я да я гугла небыло еще"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2012, 08:07 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37696603&tid=1342384]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
164ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 451ms |

| 0 / 0 |
