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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2015, 21:45   #1
raiderrr
 
Регистрация: 17.01.2014
Сообщений: 3
Вопрос Прямая перезапись данных на жестком диске. Помогите реализовать.

Доброго времени всем.
Суть программы: необходимо ПЕРЕЗАПИСАТЬ данные на жестком диске определенным набором символов (еденицами, нулями, случайные). Нужно реализовать данную процедуру для отдельного файла и для логического диска или физического.

Для работы с файлом есть такое предложение

Код:
var
f:TFileStream;
filename:string;
n:int64;
buffer:array [1..1024] of byte;

begin
randomize;
if Opendialog1.Execute then filename:=Opendialog1.FileName;
if fileexists(filename)=true then f:=TFileStream.Create(filename,fmOpenReadWrite)
else f:=TFileStream.Create(filename,fmCreate);

f.Position:=0;
 while f.Position<>f.Size do
  begin
  n:=f.Position;
  f.ReadBuffer(buffer,1);
  f.Position:=n;
  buffer[1]:=random(256); //псевдослучайные числа
  f.WriteBuffer(buffer,1);
 end;
end;
Остается вопрос как затереть полностью раздел диска или весь диск включая неразмеченные области и mft ?

Есть статья http://citforum.ru/programming/delphi/disk_editor/
Возможно, можно её использовать.

Буду рад любому совету, спасибо!)
raiderrr вне форума Ответить с цитированием
Старый 09.06.2015, 21:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Читать и писать по-байтно плохое решение

стереть данные на диске - diskpart
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.06.2015, 21:57   #3
raiderrr
 
Регистрация: 17.01.2014
Сообщений: 3
По умолчанию

Именно не стереть надо, а перезаписать. Так сказать уничтожить. целостность файла не важна, главное, чтоб его нельзя было восстановить.
Поэтому надо именно перезаписать несколько раз. Есть другие решения помимо побайтовой записи?
raiderrr вне форума Ответить с цитированием
Старый 09.06.2015, 22:07   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

diskpart может стирать обнулением данных
Цитата:
Есть другие решения помимо побайтовой записи?
Конечно, блочное чтение-запись
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.06.2015, 22:19   #5
raiderrr
 
Регистрация: 17.01.2014
Сообщений: 3
По умолчанию

Цитата:
diskpart может стирать обнулением данных
Конечно, блочное чтение-запись
Спасибо, пойду изучать!)
raiderrr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бэды на жестком диске. Дима я Компьютерное железо 5 16.02.2013 18:56
Восстановление инфы на жестком диске Ecosasha Компьютерное железо 1 29.04.2012 15:12
получение иформации о ЖЕСТКОМ диске ganiebal Общие вопросы Delphi 0 14.05.2010 09:48
Место на жестком диске Gapro Общие вопросы Delphi 3 04.12.2009 20:28
Помогите, Как программо удалить файл который находится на жестком диске. niva622 Помощь студентам 3 19.04.2007 19:09