![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
Здравствуйте!
Собственно это моё задание "Написать windows-приложение для гарантированного удаления файлов(каталогов) без возможности восстановления специализированным ПО". Нашла на википедии информацию по алгоритмам уничтожения: Википедия: "Уничтожение данных" 1.Вопрос собственно в реализации: с чего начать. 2.И может есть у кого какая-нибудь ещё полезная литература на эту тему? 3.Так же вопрос в том, как всё это обстоит с каталогами. Рекурсия? Использую VS2013 если что. Простое не знаю, за что сразу браться. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Что-то вроде этого https://bitbucket.org/skynowa/xlib/src/f620...t=master#cl-705
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Задание интересное, особенно с учетом существования SSD, в которых применяют специальные алгоритмы перемещения записываемых блоков данных, что бы избежать частых записей в один и тит же физический блок FLASH'а. Так что любая многократная перезапись файла (на которой и базируются все алгоритмы уничтожения информации) имеет все шансы равномерно разлечься по разным физическим блокам FLASH, оставив исходную уничтожаемую информацию девственно нетронутой ![]() |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
xvr, буду надеяться, что у меня не такой
![]() Alca, Вы не могли бы вкратце описать, что там происходит? На чём основан алгоритм? |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
А еще в разведке умеют определять последнии состояния байтов с помощью какого-то магнитного анализа ![]() Мне кажется самый простой вариант, записать данные рандомными битами, думаю любой алгоритм делает именно так, параноики делают по несколько итераций. Потому удалить ссылки на эти данные и директории с файловой системы |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
sQu1rr,
Да, пожалуй, самый простой способ. Но наверняка самый медленный. А "на чём основан алгоритм" это к ссылке, которую прикрепил(а) Alca |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
на SSD всегда уничтожаются старые данные командой TRIM -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Там же комменты есть Сначала затираешь атрибуты файла, потом файл заполняется 0x55, 0xAA, random char, потом размер файла в нуль, потом ресетится время создание, изменение файла, потом рендомное переименование, потом уже удаление файла. Затирку файла можно делать несколько раз Это сообщение отредактировал(а) Alca - 8.10.2014, 10:00 |
|||
|
||||
DarthTon |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 7.2.2009 Репутация: нет Всего: 6 |
По поводу перезаписи содержимого файла - лучше перезаписать не файл, а сектора диска его содержащие:
FSCTL_GET_RETRIEVAL_POINTERS + FSCTL_GET_RETRIEVAL_POINTER_BASE. Получим список групп кластеров файла относительно начала тома (не сработает для файлов <1КБ ибо они хранятся непосредственно в МФТ). Так же надо найти смещение тома относительно диска - IOCTL_DISK_GET_DRIVE_LAYOUT_EX |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
Alca, буду по всей видимости делать по Вашему алгоритму. Потому что обычные алгоритмы перезаписи из википедии программа recuva у меня во всяком случае восстанавливает....
Вот только откуда взяты 0х55 и 0хАА? |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
||||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
Асоишница, раз задание про невозможность восстановления программным способом, т.е. без специализированных аппаратных решений, анализа намагниченности и т.п., то достаточно один раз перезаписать файл произвольными данными, например 0xFF.
В целом получается такой алгоритм
Это сообщение отредактировал(а) baldina - 10.10.2014, 01:23 |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
ГОСТ на безопастное удаление файлов -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
НЕ не ГОСТ, ошибся, думал в ГОСТ есть алгоритм, запамятовал просто
https://ru.wikipedia.org/wiki/Уничтожение_данных -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |