OSDev http://osdev.su/ |
|
NTFS http://osdev.su/viewtopic.php?f=6&t=505 |
Страница 2 из 2 |
Автор: | Станислав [ 08 мар 2012, 20:53 ] |
Заголовок сообщения: | Re: NTFS |
Я понял, что в записях MFT есть котологи и файлы которые туда влезли, а те кто не влез разместили в других местах. Записьи в MFT ещё не могу понять, начинаются с FILE0 размер 2 сектора записи, как дальше там записи Папки с INDX размер 8 секторов у меня |
Автор: | Yoda [ 08 мар 2012, 23:45 ] |
Заголовок сообщения: | Re: NTFS |
Станислав писал(а): в записях MFT есть котологи и файлы которые туда влезли, а те кто не влез разместили в других местах. ... Записьи в MFT ещё не могу понять, начинаются с FILE0 размер 2 сектора записи, как дальше там записи Тээкс. Нету там каталогов. Каталоги хранятся отдельно. Ты документацию по ссылке скачал? Распаковал? Попробовал почитать? Каждая запись MFT действительно начинается с магического числа "FILE". 0 в конце - это просто так получилось, на самом деле там смещение на "Update sequence". Вот как выглядит заголовок записи: Offset Size Description 0x00 4 Magic number 'FILE' 0x04 2 Offset to the update sequence 0x06 2 Size in words of Update Sequence Number & Array (S) 0x08 8 $LogFile Sequence Number (LSN) 0x10 2 Sequence number 0x12 2 Hard link count 0x14 2 Offset to the first Attribute 0x16 2 Flags 0x18 4 Real size of the FILE record 0x1C 4 Allocated size of the FILE record 0x20 8 File reference to the base FILE record 0x28 2 Next Attribute Id 0x2A 2 Align to 4 byte boundary 0x2C 4 Number of this MFT Record 2 Update Sequence Number (a) 2S-2 Update Sequence Array (a) Самое важное, что здесь есть, это смещение на первый атрибут, по адресу 0x14. По этому смещению раскручиваешь цепочку атрибутов в данной записи. Содержимое атрибутов может быть резидентным (это значит, что прямо в этой записи они и находятся) или нерезидентным (тогда атрибут хранит цепочку кластеров, т.н. "data runs" в которых хранятся данные). Содержимое файлов хранится в неименованном атрибуте типа $DATA. Действительно, если файл достаточно маленький, он может разместиться прямо в записи. |
Автор: | Станислав [ 09 мар 2012, 06:02 ] |
Заголовок сообщения: | Re: NTFS |
По NTFS инфу удачнее находить по таким словечкам как Offset to the update sequence Нашел не плохие сайты, думаю скоро уже разберусь. http://www.deltann.ru/10/d-052008/p-22 http://www.antivirus.ru/file_record.html http://bos.asmhackers.net/docs/filesyst ... /INDX.html http://www.insidepro.com/kk/044/044r.shtml По ссылке Yoda нашёл код, он мне помоч не смог, но с твоими наводками и новыми сайтами разобраться уже вполне реально. |
Автор: | Yoda [ 09 мар 2012, 16:15 ] |
Заголовок сообщения: | Re: NTFS |
Станислав писал(а): По ссылке Yoda нашёл код, он мне помоч не смог Это как? Смотрю в книгу, вижу фигу?? :))) Я дал ссылку на ДОКУ. Эта дока - составная часть проекта Линукс-НТФС. Качать надо доку, а не код НТФС-драйвера. Вот тебе более конкретная ссылка: http://sourceforge.net/projects/linux-n ... p/download Станислав писал(а): но с твоими наводками и новыми сайтами разобраться уже вполне реально. Из четырёх ссылок две на одну и ту же статью Криса Касперски. Хорошая статья. Одна ссылка на муть. И одна ссылка на ту же доку, что и я привёл, только более старую и неудобную в плане навигации. |
Автор: | Станислав [ 09 мар 2012, 17:25 ] |
Заголовок сообщения: | Re: NTFS |
Потзатупил я чагото :) байт в загрузочном секторе "Clusters Per File Record Segment". У меня получается, что если там 0 то это 1 кластер Я пытаюсь прочитать метку диска перебирая метафайлы и корневой каталог, было бы проще сектор каталога записать в BPB и метку диска туда же. А если не хватит 8 секторов для перечисления элементов в папке, где след. сектора будут? |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |