Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 00:55   #1
Aelon
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 10
По умолчанию Запись в кластер

Товарищи! Очень нужна помощь.
У меня есть файл и необходимо записать информацию в свободное пространство последнего кластера,относящегося к этому файлу. Потом эту информацию надо считать.
Как это можно сделать? Если возможно, то желателен код.
Aelon вне форума Ответить с цитированием
Старый 04.03.2012, 08:07   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Вроде просто WriteFile/ReadFile.
Или вопрос в том, чтобы обмануть FAT или MFT?

Последний раз редактировалось EUGY; 04.03.2012 в 08:10.
EUGY вне форума Ответить с цитированием
Старый 04.03.2012, 10:23   #3
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Задача лицензию пришить к программе. ИМХО. Ассемблерные вставки нужны будут. Думаю стандартно это не сделать.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 04.03.2012, 10:36   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Да не, стандартно можно, IMHO.
Открываем нужный том:
Код:
	HANDLE hVolume = CreateFile("\\\\.\\HardDiskVolume5",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE| FILE_SHARE_READ,0,OPEN_EXISTING,0, NULL);
И считываем MBR:
Код:
	DWORD dww;
	char buff[512];
	ReadFile(hVolume, buff, 512, &dww, 0);
А уж дальше, в зависимости от файловой системы...
EUGY вне форума Ответить с цитированием
Старый 04.03.2012, 15:41   #5
Aelon
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 10
По умолчанию

А можно поподробней про MBR? Как мне это может помочь?
Aelon вне форума Ответить с цитированием
Старый 04.03.2012, 16:04   #6
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Гляньте в википедии Master boot record.
А у Вас самого какие идеи по вопросу записи в кластер?
Вам для чего?
EUGY вне форума Ответить с цитированием
Старый 04.03.2012, 16:12   #7
Aelon
Пользователь
 
Регистрация: 27.02.2012
Сообщений: 10
По умолчанию

Ну, суть в том, чтобы, скажем, посчитать хэш, допустим, текстового файла, и записать его в пространство, выделенное под этот файл, но так, чтобы этот хэш не отображался внутри самого файла при просмотре. Вот как-то так.
Aelon вне форума Ответить с цитированием
Старый 04.03.2012, 16:33   #8
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Значит надо узнать адрес нужного кластера.
Адреса кластеров используемых файлом хранятся в таблицах, специфичных для конкретной файловой системы.
MBR документирована подробно, fat32 и ntsf вроде тоже.
Задача сводится к "пляске" по офсетам и WriteFile/ReadFile в хендл тома.
На пальцах так, но конечно в коде это достаточно громоздко.
EUGY вне форума Ответить с цитированием
Старый 04.03.2012, 16:44   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может воспользоваться АПИ для дефрагментатора?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое кластер? Uwais Помощь студентам 5 16.09.2011 13:29
Кластер. Rustafa13 Компьютерное железо 3 02.06.2011 14:52
Разместить файл в кластер Akselerat Помощь студентам 1 04.12.2010 08:15
кластер NastyaV Общие вопросы C/C++ 7 01.10.2010 09:09
что такое кластер??? gaka1995 Компьютерное железо 8 13.12.2009 13:52