Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с файловой системой [D6, D7, 2000, XP]


Страницы:   1 2

22b ©   (2007-01-26 10:46:00) 

Добрый день!
Подскажиет пожалуста у меня след проблема............
Необходимо переписать файл несколько раз побайтово, сейчас это реализвано след образом, я беру файл получаю его размер, открываю для перезаписи и рандомом пишу в цикле пишу по 1 байту,
Эта методика в принципе меня устроила бы, но при перезаписе файлов размером 10 мб на 50-100 раз этот процесс станвоится мучительно долгим, есть ли какая нибудь возможность ускорить этот процесс?????
Заранее спасибо!


DrPass   (2007-01-26 11:10:00) [21]


> Olivetti   (26.01.07 11:08) [17]

Штатными средствами нельзя, конечно. А вот специализированными аппаратными - запросто. Тем более, что они есть в любой нормальной криминалистической лаборатории даже в нашем технически отсталом СНГ.


22b   (2007-01-26 11:10:00) [22]

Тогда как работают Шредеры и Вайперы под виндой?


DrPass   (2007-01-26 11:09:00) [23]


> 22b   (26.01.07 11:05) [14]

Это справедливо только для первого непрерывного куска. Проверь еще раз. Второй фрагмент уже не совпадет


Olivetti   (2007-01-26 11:08:00) [24]

Прочитать стертую информацию по этой "остаточной намагниченности" штатными средствами ОС - невозможно. То есть - очередная байка для ксакепов.


TRUNK   (2007-01-26 11:08:00) [25]


> ОС все равно накапливает изменения в буфере (порой до нескольких
> мегабайт), прежде чем сбросить их на диск

А это как раз и сделано для того, чтобы что бы можно было читать с диска по одному байту. Сама же ОС общается с диском посекторно.
А что касается кэширования, то его в функции CreateFile можно и отключить.


DrPass   (2007-01-26 11:06:00) [26]


> TRUNK ©   (26.01.07 11:03) [11]

Если ты открываешь файл для перезаписи, операционка, по сути, создает новый файл. Причем здесь переписывание с одного места в другое?


22b   (2007-01-26 11:05:00) [27]


> А какая тебе нафиг разница? Все равно, ты хоть тысячу раз
> открывай файл и переписывай его рандомом, вероятность того,
>  что операционка перепишет именно то место, где находился
> старый файл, будет недалеко от нуля.
> Скорее всего, она выберет первый свободный участок на диске
> подходящего размера. А старый файл останется там, где и
> был :)


Нет провернно WinHex'ом


DrPass   (2007-01-26 11:04:00) [28]


> TRUNK ©   (26.01.07 10:59) [10]

Если быть точнее, то минимальная единица размещения файла - не сектор, а кластер. И то, особого смысла мелочиться нет, ОС все равно накапливает изменения в буфере (порой до нескольких мегабайт), прежде чем сбросить их на диск


Olivetti   (2007-01-26 11:04:00) [29]

Не подходит -- Остаточная намагниченность!!!!!!!

И что?
Ты хочешь сказать, что кому-то нужна будет твоя информация настолько, что он потратит очень-очень много-много денег для востановления твоей информации по остаточной намагниченности? Это такая супер-пупер защита? Тогда почему ты не наймешь супер-пупер специалистов по супер-пупер безопасности? Почему задаешь вопрос в "Начинающим"?
Задай вопрос в журнал "Ксакеп" - самое то!


TRUNK   (2007-01-26 11:03:00) [30]


> DrPass ©   (26.01.07 10:58) [9]
> Все равно, ты хоть тысячу раз открывай файл и переписывай
> его рандомом, вероятность того, что операционка перепишет
> именно то место, где находился старый файл, будет недалеко
> от нуля

Операционка не станет тратить свои ресурсы на переписывание файла с одного места на диске в другое, тем более если файл остаётся прежнего размера. Если бы она это делала, не существовало бы такого понятия как фрагментация диска.


TRUNK   (2007-01-26 10:59:00) [31]


> а как определить размер сектора?

Функция GetDiskFreeSpace.


DrPass   (2007-01-26 10:58:00) [32]


> Не подходит -- Остаточная намагниченность!!!!!!! это раз
> и задачу это не упрощает! это два

А какая тебе нафиг разница? Все равно, ты хоть тысячу раз открывай файл и переписывай его рандомом, вероятность того, что операционка перепишет именно то место, где находился старый файл, будет недалеко от нуля.
Скорее всего, она выберет первый свободный участок на диске подходящего размера. А старый файл останется там, где и был :)


22b   (2007-01-26 10:56:00) [33]

а как определить размер сектора?


22b   (2007-01-26 10:55:00) [34]

----"Забей" один раз нулями.

Не подходит -- Остаточная намагниченность!!!!!!! это раз и задачу это не упрощает! это два


TRUNK   (2007-01-26 10:55:00) [35]


> Необходимо переписать файл несколько раз побайтово, сейчас
> это реализвано след образом, я беру файл получаю его размер,
>  открываю для перезаписи и рандомом пишу в цикле пишу по
> 1 байту

Я так понимаю, что это нужно для гарантированного уничтожения информации.

> есть ли какая нибудь возможность ускорить этот процесс?????

Есть. Писать блоками не меньше размера сектора (обычно 512 байт).


Olivetti   (2007-01-26 10:54:00) [36]

Просто существуюющие мотодики удаления не устраивают

Чем?


Olivetti   (2007-01-26 10:54:00) [37]

Значит то что идет "Забивание" файла мусором указанное число раз для последуюющего безопасного удаления

"Забей" один раз нулями.


22b   (2007-01-26 10:53:00) [38]

Просто существуюющие мотодики удаления не устраивают пытаюсь реализовать свою более безопасную


22b   (2007-01-26 10:52:00) [39]

Значит то что идет "Забивание" файла мусором указанное число раз для последуюющего безопасного удаления


MikePetrichenko   (2007-01-26 10:48:00) [40]


> рандомом пишу в цикле пишу по 1 байту

Это сильно! Но мало соотносится с
> Работа с файловой системой

Да и что в таком случае значит
> Необходимо переписать файл несколько раз побайтово
?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо