просмотр атрибутов NTFS
От: Snakis  
Дата: 29.09.09 03:19
Оценка:
Всем привет. Есть такая проблема: нужно просмотреть атрибуты нтфс, такие как
$STANDARD_INFORMATION,
$ATTRIBUTE_LIST,
$FILE_NAME ну и т.д.

DWORD dwAttrs=GetFileAttributesEx(pzFileName, GetFileExInfoStandard, &fData.dwFileAttributes);
if (fData.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
{
strcat(szMessage, "FILE_ATTRIBUTE_READONLY\r\n");
}
так читаются только обычные атрибуты, а как прочитать вышеуказанные? в инете по этому поводу ничго не могу найти
помогите плиз =)
Re: просмотр атрибутов NTFS
От: Сергей Мухин Россия  
Дата: 29.09.09 04:37
Оценка:
Здравствуйте, Snakis, Вы писали:

S>Всем привет. Есть такая проблема: нужно просмотреть атрибуты нтфс, такие как

S>$STANDARD_INFORMATION,
S>$ATTRIBUTE_LIST,
S>$FILE_NAME ну и т.д.

S>DWORD dwAttrs=GetFileAttributesEx(pzFileName, GetFileExInfoStandard, &fData.dwFileAttributes);

S>if (fData.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
S>{
S> strcat(szMessage, "FILE_ATTRIBUTE_READONLY\r\n");
S>}
S>так читаются только обычные атрибуты, а как прочитать вышеуказанные? в инете по этому поводу ничго не могу найти
S>помогите плиз =)

MSDN и Google уже закрыли?

FSCTL_GET_NTFS_VOLUME_DATA

здесь
---
С уважением,
Сергей Мухин
Re[2]: просмотр атрибутов NTFS
От: Snakis  
Дата: 29.09.09 05:04
Оценка:
а кто нить может взяться написать эту прогу
за вознаграждение разумеется
я сама не очень сильна в кодерстве =\
Re[3]: просмотр атрибутов NTFS
От: Snakis  
Дата: 02.10.09 07:55
Оценка:
что, совсем никто? =(
Re[4]: просмотр атрибутов NTFS
От: Pavel Dvorkin Россия  
Дата: 02.10.09 09:44
Оценка:
Здравствуйте, Snakis, Вы писали:

S>что, совсем никто? =(


Посмотри вот этот тред . Может, имеет смысл связаться с кеи-нибудь из его участников.

http://www.rsdn.ru/forum/winapi/1127155.flat.aspx
Автор: IceStudent
Дата: 15.04.05


А еще попробуй предложить эту задачу в форуме по низкоуровневому программированию.

Ну и в форуме "Работа" тоже

Успеха!
With best regards
Pavel Dvorkin
Re[4]: просмотр атрибутов NTFS
От: Voinov Россия http://www.svoinov.ru
Дата: 02.10.09 10:11
Оценка:
Здравствуйте, Snakis, Вы писали:

S>что, совсем никто? =(


Давайте я попробую. Только нужна более точная формулировка задачи. Допустим, атрибуты получены. Что потом с ними делать, на экран вывести? Имя файла как задаётся? И т.п.
Re[5]: просмотр атрибутов NTFS
От: Snakis  
Дата: 05.10.09 08:48
Оценка:
Здравствуйте, Voinov, Вы писали:

V>Здравствуйте, Snakis, Вы писали:


S>>что, совсем никто? =(


V>Давайте я попробую. Только нужна более точная формулировка задачи. Допустим, атрибуты получены. Что потом с ними делать, на экран вывести? Имя файла как задаётся? И т.п.


получить атрибуты и вывести их на экран.
по заданию не сказано как именно задать имя файла
Re: просмотр атрибутов NTFS
От: MShura  
Дата: 05.10.09 12:14
Оценка:
S>Всем привет. Есть такая проблема: нужно просмотреть атрибуты нтфс, такие как
S>$STANDARD_INFORMATION,
S>$ATTRIBUTE_LIST,
S>$FILE_NAME ну и т.д.

S>помогите плиз =)


Облегченный вариант fsutil скомпиленный для windows (тестировалось только под Linux):

http://files.rsdn.ru/24534/fsutil.rar

Пример
fsutil.exe streams query x:/tst_file — выводит список аттрибутов(потоков)
fsutil.exe streams dump x:/tst_file 10 — выводит dump аттрибута с типом 0x10

Слэши в пути прямые
Re[2]: просмотр атрибутов NTFS
От: Snakis  
Дата: 06.10.09 03:31
Оценка:
Здравствуйте, MShura, Вы писали:

S>>Всем привет. Есть такая проблема: нужно просмотреть атрибуты нтфс, такие как

S>>$STANDARD_INFORMATION,
S>>$ATTRIBUTE_LIST,
S>>$FILE_NAME ну и т.д.

S>>помогите плиз =)


MS>Облегченный вариант fsutil скомпиленный для windows (тестировалось только под Linux):


MS>http://files.rsdn.ru/24534/fsutil.rar


MS>Пример

MS>fsutil.exe streams query x:/tst_file — выводит список аттрибутов(потоков)
MS>fsutil.exe streams dump x:/tst_file 10 — выводит dump аттрибута с типом 0x10

MS>Слэши в пути прямые


под виндой ниче не показывает
Re[3]: просмотр атрибутов NTFS
От: MShura  
Дата: 06.10.09 06:55
Оценка:
MS>>Слэши в пути прямые

S>под виндой ниче не показывает


Скопируйте сюда комманду, которую вводите
Re[6]: просмотр атрибутов NTFS
От: Voinov Россия http://www.svoinov.ru
Дата: 06.10.09 10:10
Оценка:
Здравствуйте, Snakis, Вы писали:

S>Здравствуйте, Voinov, Вы писали:


V>>Здравствуйте, Snakis, Вы писали:


S>>>что, совсем никто? =(


V>>Давайте я попробую. Только нужна более точная формулировка задачи. Допустим, атрибуты получены. Что потом с ними делать, на экран вывести? Имя файла как задаётся? И т.п.


S>получить атрибуты и вывести их на экран.

S>по заданию не сказано как именно задать имя файла

http://files.rsdn.ru/19123/NTFSAttrib.zip
Печатает в стандартный вывод все атрибуты для указанного файла (включая шестнадцатеричный дамп и расшифровку). Имя файла задаётся с командной строки. Значения нерезидентных атрибутов не печатаются.
Re[7]: просмотр атрибутов NTFS
От: MShura  
Дата: 06.10.09 12:02
Оценка:
V>Значения нерезидентных атрибутов не печатаются.
А печаются ли значения резидентных аттрибутов, находящихся не в главной записи?
Re[8]: просмотр атрибутов NTFS
От: Voinov Россия http://www.svoinov.ru
Дата: 06.10.09 13:38
Оценка:
Здравствуйте, MShura, Вы писали:

V>>Значения нерезидентных атрибутов не печатаются.

MS>А печаются ли значения резидентных аттрибутов, находящихся не в главной записи?

Что имеется в виду под "не главной" записью? Я получаю запись для файла вызовом DeviceIoControl с кодом FSCTL_GET_NTFS_FILE_RECORD. Всё, что она возвращает, я печатаю. Нерезидентные атрибуты нужно считывать непосредственно с диска, что делать мне было лень
Re[9]: просмотр атрибутов NTFS
От: MShura  
Дата: 06.10.09 14:12
Оценка:
V>>>Значения нерезидентных атрибутов не печатаются.
MS>>А печаются ли значения резидентных аттрибутов, находящихся не в главной записи?

V>Что имеется в виду под "не главной" записью? Я получаю запись для файла вызовом DeviceIoControl с кодом FSCTL_GET_NTFS_FILE_RECORD. Всё, что она возвращает, я печатаю. Нерезидентные атрибуты нужно считывать непосредственно с диска, что делать мне было лень


Если файл состоит например из двух записей. Основная N и вспомогательная M.
Резидентный аттрибут может находиться в любой из них

FSCTL_GET_NTFS_FILE_RECORD только одну запись (N).
чтобы добраться до записи M нужно распарсить attribute list.

Собственно это и написано в MSDN

If a file consists of multiple file records, they must be retrieved individually.

Re[10]: просмотр атрибутов NTFS
От: Voinov Россия http://www.svoinov.ru
Дата: 06.10.09 14:16
Оценка:
Здравствуйте, MShura, Вы писали:

V>>>>Значения нерезидентных атрибутов не печатаются.

MS>>>А печаются ли значения резидентных аттрибутов, находящихся не в главной записи?

V>>Что имеется в виду под "не главной" записью? Я получаю запись для файла вызовом DeviceIoControl с кодом FSCTL_GET_NTFS_FILE_RECORD. Всё, что она возвращает, я печатаю. Нерезидентные атрибуты нужно считывать непосредственно с диска, что делать мне было лень


MS>Если файл состоит например из двух записей. Основная N и вспомогательная M.

MS>Резидентный аттрибут может находиться в любой из них

MS>FSCTL_GET_NTFS_FILE_RECORD только одну запись (N).

MS>чтобы добраться до записи M нужно распарсить attribute list.

MS>Собственно это и написано в MSDN

MS>

MS>If a file consists of multiple file records, they must be retrieved individually.


Нет, attribute list не парсю.
Re[4]: просмотр атрибутов NTFS
От: Snakis  
Дата: 07.10.09 05:31
Оценка:
Здравствуйте, MShura, Вы писали:

MS>>>Слэши в пути прямые


S>>под виндой ниче не показывает


MS>Скопируйте сюда комманду, которую вводите


Streams of "d:/1.txt":
Type Id Flags Size "Name"
0x0010 0x0000 0x0000 48
0x0030 0x000a 0x0000 4c
0x0040 0x0004 0x0000 10
0x0080 0x0003 0x0001 4e8

вывелось, но тут не выводится содержимое атрибутов, например тот же 0х30 должно быть имя, размер и т.п.
Re[5]: просмотр атрибутов NTFS
От: MShura  
Дата: 07.10.09 06:51
Оценка:
MS>>Скопируйте сюда комманду, которую вводите

S>Streams of "d:/1.txt":

S> Type Id Flags Size "Name"
S>0x0010 0x0000 0x0000 48
S>0x0030 0x000a 0x0000 4c
S>0x0040 0x0004 0x0000 10
S>0x0080 0x0003 0x0001 4e8

S>вывелось, но тут не выводится содержимое атрибутов, например тот же 0х30 должно быть имя, размер и т.п.


Это был запрос query — вывести список аттрибутов

Теперь нужен запрос dump:
fsutil streams dump d:/1.txt 30 — выводит dump аттрибута 0x30
Если аттрибут допускает duplicates (см $AttrDef) то можно указать и Id аттрибута
Например если у файла несколько имен, то будет несколько безимянных аттрибутов с типом 0x30, но с разными Id
Тогда комманда такая:
fsutil streams dump d:/1.txt 30 a
Содержимое аттрибутов не приводится к текстовому виду
Re[6]: просмотр атрибутов NTFS
От: Snakis  
Дата: 07.10.09 08:54
Оценка:
Здравствуйте, MShura, Вы писали:

MS>>>Скопируйте сюда комманду, которую вводите


S>>Streams of "d:/1.txt":

S>> Type Id Flags Size "Name"
S>>0x0010 0x0000 0x0000 48
S>>0x0030 0x000a 0x0000 4c
S>>0x0040 0x0004 0x0000 10
S>>0x0080 0x0003 0x0001 4e8

S>>вывелось, но тут не выводится содержимое атрибутов, например тот же 0х30 должно быть имя, размер и т.п.


MS>Это был запрос query — вывести список аттрибутов


MS>Теперь нужен запрос dump:

MS>fsutil streams dump d:/1.txt 30 — выводит dump аттрибута 0x30
MS>Если аттрибут допускает duplicates (см $AttrDef) то можно указать и Id аттрибута
MS>Например если у файла несколько имен, то будет несколько безимянных аттрибутов с типом 0x30, но с разными Id
MS>Тогда комманда такая:
MS>fsutil streams dump d:/1.txt 30 a
MS>Содержимое аттрибутов не приводится к текстовому виду

а не используя потоки как то можно их просмотреть?
Re: просмотр атрибутов NTFS
От: Snakis  
Дата: 13.10.09 10:26
Оценка:
вариантов больше нет?
Re[2]: просмотр атрибутов NTFS
От: MShura  
Дата: 14.10.09 07:54
Оценка:
S>вариантов больше нет?

Непонятно что требуется
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.