Категория:
Системное программирование,
Прикладное ПОБюджет:
200 USDНужна простая программа, задачей которой будет запланированное уничтожение файлов.
допустимые варианты уничтожения:
* перезапись содержимого файла несколько раз произвольным кодом. при этом файл не удаляется, а остается с тем-же размером, на том-же месте, но с совершенно другим содержанием. (присутствуют файлы с размером до 35Gb)
* затирание содержимого файлов оставляя размер всего лишь 1kb у каждого. (обрезая файлы после 1-го килобайта содержимого).
данный продукт создается с целью запланированного уничтожения данных для случаев урозы утечки данных.
алгоритм запуска.
1. запускается файл (возможно со вставленной флешки автозапуском).
2. программа копируется на компьютер. сохраняется, прописывается в автозапуск (естественно не в автозагрузку, а более защищенный вариант (реестр(но без подтверждения пользователем записи в реестре))).
3. с момента запуска (вставливания флешки) отсчитывается 360 минут (6 часов). после этих 360 минут начинается процесс затирания.
4. если прошло, к примеру 30 минут работы, затем компьютер был выключен, то время как бы ставится на паузу. и после дальнейшего (следующего) включения windows продолжается отсчет времени. т.е. 30 минут прошло, и отсчитываются оставшиеся 330 минут (до порога 360 минут).
После того, как пройдут эти 360 минут- должно начаться удаление файлов.
5. при простое\экранной заставки- на паузу не ставится. т.е. отсчитываем время работы операционки.
6. никаких видимых признаков работы программы не должно быть.
7. затираться должны все файлы на всех логических дисках, кроме самой операционной системы. в том числе и директории временных файлов, и файлы, лежащие на рабочем столе(кроме иконок), и в директории, для юзера\администратора.
8. затираются все расширения, по принципу *.*
9. для большей надежности возможно удаление операционки, после обрезки всех файлов, для этого можно, по истечению 360 минут перегрузить компьютер и до загрузки Windows, удалить все каталоги на C: .
*. программу не должно быть видно в "процессах".
*. работа программы должна быть невидна для пользователя.
*. программа должна быть расчитана на любое кол-во логических дисков. (до 10-ти)
*. также нужно учитывать права юзеров, и также удалять сохраненные копии для "восстановления" (опциональные операционной системой).
*. процесс затирания должен выполняться максимально быстро. возможно многопоточно.
*. если в момент выполнения затирки файлов выключается компьютер- нужно продолжить работу после его включения. до тех пор, пока все файлы не будут затерты.
*. также нужно учитывать права с вистеме NTFS. но работа должна происходить как в FAT системе, так и в NTFS, также учитывая атрибуты файлов и папок.
системный требования: Windows 7 x32\x64
!!!
Вариантов выполнения может быть масса. Возможно Вы предложите тот, что был опробован лично Вами и который на Ваш взгляд быстрее для исполнения и надежнее для работы.
!!!
для тестирования программы- должна быть копия, работающая не через 6 часов, а через 3 или 5 минут. (возможно конфигуратор, в котором выставляется время.)
---------------------------------
предлогаемые варианты.
1---
* возможно вставлять произвольный код, размером 1kb. в содержимое файла.
(создается 1 файл, размером 1kb, затем копируется, переименовываясь в имена уже существующих файлов.
пример:
qqq.xls 45kb
qqq.dll 4005kb
qqq.exe 125kb
создаем файл, размером 1kb eee.txt
затем копируем\меняем имя существующих
eee.txt 1kb --> qqq.xls 45kb (последний удаляем, запоминаем его имя, и первый переименовываем в тот, что был. получится:
qqq.xls 1kb
точно также и с остальными.
eee.txt 1kb --> qqq.dll 4005kb
eee.txt 1kb --> qqq.exe 125kb
в итоге должно получиться:
qqq.xls 1kb
qqq.dll 1kb
qqq.exe 1kb
)
2---
простое обрезание файла до размера 1kb.
(это как-то делается даже коммандной строкой)
3---
Ваш вариант....
==========================================
ожидаю выполнение работы за 1 день. за скорость и надежность- доплата.
http://www.weblancer.net/projects/638304.html