Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с MFT, Работа с MFT 
:(
    Опции темы
ajto
Дата 7.8.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Всем привет! smile Подскажите, пожалуйста, как можно удалить файлы, которые находятся в использование(к примеру sam файл smile) ). Но удалить надо именно, не знаю, как правильно сказать, ссылку, что ли его из MFT. Работаю только с NTFS. И вообще если можно, киньте  какие-нибудь примеры работы с MFT. За раннее благодарен.

Это сообщение отредактировал(а) ajto - 7.8.2007, 15:05
PM MAIL   Вверх
Riply
Дата 8.8.2007, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



ajto, 
Цитата(ajto @  7.8.2007,  15:03 Найти цитируемый пост)
 И вообще если можно, киньте  какие-нибудь примеры работы с MFT. 

Тебе на сайт "линуксоидов".  smile 
У них наиболее полня информация. (да и исходники есть). Ничего лучше мне найти не удалось.
PM MAIL   Вверх
ajto
Дата 12.8.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



А может тогда подскажите по какому адресу находится сайт "линуксоидов"? smile
PM MAIL   Вверх
Riply
Дата 12.8.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



ajto, 
Цитата(ajto @  12.8.2007,  21:18 Найти цитируемый пост)
А может тогда подскажите по какому адресу находится сайт "линуксоидов"? 


Алексей Дворецкий, в своей статье "Спасение раздела NTFS", 
"...Самой полной информацией, что неудивительно, оказалась документация 
от создателей драйвера NTFS под Linux http://linux-ntfs.sourceforge.net/ntfs/index.html, 
где очень удобно и аккуратно выложена вся информация по NTFS, 
которую этим людям удалось собрать."

Добавлю: начинать лучше с Неббета, а когда придет понимание
во что ты вляпался, то идти к "линуксоидам"  smile 
Правда адрес у них изменился: www.linux-ntfs.org


PM MAIL   Вверх
ne0n
Дата 12.8.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 4
Всего: 11



ajto,  на Wasm.ru посмотри, там Ms-rem писал по этому поводу(я имею ввиду работу с занятыми файлами)...

Это сообщение отредактировал(а) ne0n - 12.8.2007, 23:15
PM MAIL ICQ   Вверх
ajto
Дата 14.8.2007, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Riply, звучит страшно. К тому же у меня с английским плохо. :-(

ne0n, как раз с этой статьи и начал все. smile



Если когда приступал ко всему этому что то понимал, то теперь уже ничего не понимаю. 

Может проще будет если по частям проблему буду решать? 

1. С толкнулся при покластерном копирование файла на NTFS вот с какой фишкой, для маленьких файлов (как понял, те которые умещаются в один кластер) не находить кластер. Как позже выяснил что такие маленькие файлы хранятся где то в MFT, так как все таки скопировать такой файл?

2. Как можно удалить файл который используется? (удалить, т.е. сылку затереть на его сущетсвование в файловой системе)

Это сообщение отредактировал(а) ajto - 14.8.2007, 00:21
PM MAIL   Вверх
Riply
Дата 14.8.2007, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



ajto, 
Цитата(ajto @  14.8.2007,  00:16 Найти цитируемый пост)
1. С толкнулся при покластерном копирование файла на NTFS вот с какой фишкой, для маленьких файлов (как понял, те которые умещаются в один кластер) не находить кластер. Как позже выяснил что такие маленькие файлы хранятся где то в MFT, так как все таки скопировать такой файл?


Обычно файл не имеет своего кластера на диске, если его размер меньше размера записи в MFT, который совсем не всегда равен размеру кластера.
Для того чтобы скопировать основной поток этого файла, нужно получить номер записи в MFT, прочитать ее, перебрать ее атрибуты и выбрать AttributeData без имени. 
Исходя из условий задачи, он будет резидентным.
А раз так, то по смещению ValueOffset читаем(копируем ) ValueLength байт.
  
Как получить номер записи по Handle'у файла, описано у Ms-Rem'а.
Как читать файловую запись в MFT,  посмотри у Гарри Неббета. 
У него же описаны и базовые структуты, необходимые для работы.

Цитата(ajto @  14.8.2007,  00:16 Найти цитируемый пост)
2. Как можно удалить файл который используется? (удалить, т.е. сылку затереть на его сущетсвование в файловой системе)


Все предыдущее тебе покажется детской забавой, по сравнению с этой задачей  smile
Мало того, что при записи тебе придется позаботится о "контрольных байтах", так еще
изменение одного (почти любого) бита в MFT, влечет за собой целые цепочки изменений в этой и совершенно других записях (как круги на воде) , которые надо будет провести вручную,
при условии, что ошибка ведет к краху файловой системы.
Допустим, ты научился правильно отслеживать все цепочки изменений, 
но все полетит к чертям (вместе с Windows), если в этот момент времени 
еще и система будет туда что-то писать, а может и только читать  smile 

P.S.
 Нет ничего невозможного - "не боги горшки обжигают" smile


PM MAIL   Вверх
ajto
Дата 15.8.2007, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Riply, большое вам спасибо за информацию. Книжку скачал (жалко только что на английском, хотя думаю, что разберусь), так что начну разбираться в выходные. smile 
PM MAIL   Вверх
Riply
Дата 16.8.2007, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Комодератор
Сообщений: 572
Регистрация: 27.3.2007
Где: St. Petersburg

Репутация: 21
Всего: 32



ajto,  удачи !
Она тебе понадобиться  smile 

PS: 
 Майкрософт недавно добавили немного информации по MFT в MSDN, 
 там не все нужные структуры, и некоторые используемые поля структур 
 помечены как reserved, но хоть что-то  smile  
 www.msdn2.microsoft.com/en-us/library/bb470206.aspx

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.