Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.01.2013, 05:04
Inkognito Inkognito вне форума
Прохожий
 
Регистрация: 29.01.2013
Сообщения: 10
Репутация: выкл
Сообщение Как гарантированно удалить файл из Delphi

Хотелось бы реализовать в своем проекте какой-нить простенький, но гарантирующий невозможность восстановления shredder для файлов. Удивительно, но перерыв все что можно так и не нашел нормального исходного примера, кроме туманного упоминания о функции вроде creatfile(). Подскажите где найти нормальный исходник или дайте примерчик пожалуйста.
__________________
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может.
Ответить с цитированием
  #2  
Старый 30.01.2013, 05:37
Andy_Jonson Andy_Jonson вне форума
Прохожий
 
Регистрация: 26.12.2009
Сообщения: 4
Репутация: 10
По умолчанию

Самый разумный метод - перед обычным удалением файла сделать:
1) Создать буфер заполненый $00 (или даже случайными числами) и перезаписать им весь файл
2) Принудительно изменить размер файла на произвольный, желательно меньше предыдущего(быстрее)
3) Сменить название файла на случайное
4) Сменить дату создания и изменения файла на произвольную
Каждый из этих этапов легко реализовать -есть куча примеров.
Вероятность востановления после этого - минимальная! Только если в системе было установлено скрытое резевное копирование файлов.
Догадаться же чем был файл раньше так-же будет тяжело
Удачи...
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Andy_Jonson за это полезное сообщение:
Inkognito (30.01.2013), OTVET (30.01.2013)
  #3  
Старый 30.01.2013, 05:58
Inkognito Inkognito вне форума
Прохожий
 
Регистрация: 29.01.2013
Сообщения: 10
Репутация: выкл
По умолчанию

Примерно так и представлял, спасибо за конкретику, ща заделаю.. ))
__________________
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может.
Ответить с цитированием
  #4  
Старый 30.01.2013, 08:52
Inkognito Inkognito вне форума
Прохожий
 
Регистрация: 29.01.2013
Сообщения: 10
Репутация: выкл
По умолчанию

Вот.. Уперся в такую маленькую незадачку - легко удается изменить дату модификации файла посредством FileSetDate(), но как быть с датой создания..? Прозондировал DRKB, но не нашел на сей счет ничего путного. Может достаточно будет ограничится одной лишь датой изменения )), или все-же это довольно критичный момент для реанимации таких затертых файлов?
__________________
Все может быть, быть может все и лишь того не может быть, чего совсем уж быть не может.
Ответить с цитированием
  #5  
Старый 30.01.2013, 08:59
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

The SetFileTime function sets the date and time that a file was created, last accessed, or last modified.
Цитата:
BOOL SetFileTime(
HANDLE hFile, // identifies the file
CONST FILETIME *lpCreationTime, // time the file was created
CONST FILETIME *lpLastAccessTime, // time the file was last accessed
CONST FILETIME *lpLastWriteTime // time the file was last written
);
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо NumLock за это полезное сообщение:
Inkognito (30.01.2013), OTVET (30.01.2013)
  #6  
Старый 30.01.2013, 09:03
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Andy_Jonson
Самый разумный метод - перед обычным удалением файла сделать:
1) Создать буфер заполненый $00 (или даже случайными числами) и перезаписать им весь файл
2) Принудительно изменить размер файла на произвольный, желательно меньше предыдущего(быстрее)
3) Сменить название файла на случайное
4) Сменить дату создания и изменения файла на произвольную
Каждый из этих этапов легко реализовать -есть куча примеров.
Вероятность востановления после этого - минимальная! Только если в системе было установлено скрытое резевное копирование файлов.
Догадаться же чем был файл раньше так-же будет тяжело
Удачи...


http://ru.wikipedia.org/wiki/%D0%9C%...B0%D0%BD%D0%B0
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо M.A.D.M.A.N. за это полезное сообщение:
Inkognito (30.01.2013), OTVET (30.01.2013)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:45.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025