Анализ файловой системы

Discussion in 'WASM.WIN32' started by Cneg, Mar 28, 2007.

  1. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    кстати как будут работать эти FSCTL функции, если мета-данные NTFS повреждены? (например вначале раздела не будет сигнатуры <FILE > или если файл $mft каким-то образом изменён)
     
  2. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    Скинуть куда? Если на мыло или на сервак какой-нибудь, буду рад. rammerlabs<гав>mail<точка>ru
    Спасибо
     
  3. diamond

    diamond New Member

    Blog Posts:
    0
    Joined:
    May 21, 2004
    Messages:
    507
    Location:
    Russia
    Вообще-то для поиска дополнительных NTFS-потоков есть функции NtQueryEaFile и NtQueryInformationFile с нужным классом информации (справочник по NativeAPI в помощь). А начиная с 2003 Server есть даже документированные FindFirstStreamW/FindNextStreamW.
     
  4. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    гммм... Native Api - это конечно круто, но в данный момент испытываю жестокую потребность в таком вот справочнике...
     
  5. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    http://undocumented.ntinternals.net/ntundoc.chm
    Проще на форуме спросить, чем у гугла, ага?
     
  6. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    Так..... возникла новая проблема, где взять заголовочный файл ntfs.h? Этот файл описывает основные структуры NTFS. Гуглил, находил тока линухоподобное всё... HELP!
     
  7. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    либо самому вписать структуры, как в книге Гэрри Неббета? ПОдскажите, если просто обращаться к этим структурам, с чем получается я неявно буду работать?
     
  8. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    вот 2 структуры, которые пишутся в ntfs.h
    Code (Text):
    1. typedef struct {
    2.     ULONG Type;
    3.     USHORT UsaOffset;
    4.     USHORT UsaCount;
    5.     USN Usn;
    6. } NTFS_RECORD_HEADER, *PNTFS_RECORD_HEADER;
    7.  
    8. typedef struct {
    9.     NTFS_RECORD_HEADER Ntfs;
    10.     USHORT SequenceNumber;
    11.     USHORT LinkCount;
    12.     USHORT AttributesOffset;
    13.     USHORT Flags;               // 0x0001 = InUse, 0x0002 = Directory
    14.     ULONG BytesInUse;
    15.     ULONG BytesAllocated;
    16.     ULONGLONG BaseFileRecord;
    17.     USHORT NextAttributeNumber;
    18. } FILE_RECORD_HEADER, *PFILE_RECORD_HEADER;
    С чем я буду неявно работать, обращаясь к их данным?
     
  9. Y_Mur

    Y_Mur Active Member

    Blog Posts:
    0
    Joined:
    Sep 6, 2006
    Messages:
    2,494
    http://www.wasm.ru/forum/viewtopic.php?pid=165733#p165733

    Адрес того архива со статьями http://nezumi.org.ru/ftp/recover.zip

    Мыщъх над этим хорошо потрудился :)
     
  10. Cneg

    Cneg New Member

    Blog Posts:
    0
    Joined:
    Mar 28, 2007
    Messages:
    78
    Y_Mur
    этот архив - не что иное как главы из книги Касперского "Восстановление данных", спасибо но теорию я уже читал.
     
  11. diamond

    diamond New Member

    Blog Posts:
    0
    Joined:
    May 21, 2004
    Messages:
    507
    Location:
    Russia
    Я пользуюсь справочником по NativeAPI
    http://diamondz.land.ru/NativeAPI.pdf
    Там все описываемые структуры приведены в виде Сишного объявления. Кстати, список потоков файла выдаёт NtQueryInformationFile с классом информации FileStreamsInformation (он же 22 = 16h). Между прочим, не требуя прав адиминистратора (чтение напрямую жёсткого диска заведомо требует таковых). А разбирать ручками NTFS-структуры - разновидность мазохизма, особенно если учесть, что одной записи в MFT может и не хватить, а дальше начинается фигня с $ATTRIBUTE_LIST, дочерними файловыми записями...
     
  12. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    Я брал за основу заголовочные файлы драйвера ntfs винды, так оно надёжнее и имена стандартные.