![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файловой системой [D6, D7, 2000, XP]
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 байту
Это сильно! Но мало соотносится с
> Работа с файловой системой
Да и что в таком случае значит
> Необходимо переписать файл несколько раз побайтово
?