кстати как будут работать эти FSCTL функции, если мета-данные NTFS повреждены? (например вначале раздела не будет сигнатуры <FILE > или если файл $mft каким-то образом изменён)
Скинуть куда? Если на мыло или на сервак какой-нибудь, буду рад. rammerlabs<гав>mail<точка>ru Спасибо
Вообще-то для поиска дополнительных NTFS-потоков есть функции NtQueryEaFile и NtQueryInformationFile с нужным классом информации (справочник по NativeAPI в помощь). А начиная с 2003 Server есть даже документированные FindFirstStreamW/FindNextStreamW.
гммм... Native Api - это конечно круто, но в данный момент испытываю жестокую потребность в таком вот справочнике...
Так..... возникла новая проблема, где взять заголовочный файл ntfs.h? Этот файл описывает основные структуры NTFS. Гуглил, находил тока линухоподобное всё... HELP!
либо самому вписать структуры, как в книге Гэрри Неббета? ПОдскажите, если просто обращаться к этим структурам, с чем получается я неявно буду работать?
вот 2 структуры, которые пишутся в ntfs.h Code (Text): typedef struct { ULONG Type; USHORT UsaOffset; USHORT UsaCount; USN Usn; } NTFS_RECORD_HEADER, *PNTFS_RECORD_HEADER; typedef struct { NTFS_RECORD_HEADER Ntfs; USHORT SequenceNumber; USHORT LinkCount; USHORT AttributesOffset; USHORT Flags; // 0x0001 = InUse, 0x0002 = Directory ULONG BytesInUse; ULONG BytesAllocated; ULONGLONG BaseFileRecord; USHORT NextAttributeNumber; } FILE_RECORD_HEADER, *PFILE_RECORD_HEADER; С чем я буду неявно работать, обращаясь к их данным?
http://www.wasm.ru/forum/viewtopic.php?pid=165733#p165733 Адрес того архива со статьями http://nezumi.org.ru/ftp/recover.zip Мыщъх над этим хорошо потрудился
Y_Mur этот архив - не что иное как главы из книги Касперского "Восстановление данных", спасибо но теорию я уже читал.
Я пользуюсь справочником по NativeAPI http://diamondz.land.ru/NativeAPI.pdf Там все описываемые структуры приведены в виде Сишного объявления. Кстати, список потоков файла выдаёт NtQueryInformationFile с классом информации FileStreamsInformation (он же 22 = 16h). Между прочим, не требуя прав адиминистратора (чтение напрямую жёсткого диска заведомо требует таковых). А разбирать ручками NTFS-структуры - разновидность мазохизма, особенно если учесть, что одной записи в MFT может и не хватить, а дальше начинается фигня с $ATTRIBUTE_LIST, дочерними файловыми записями...