При удалении файла выполняется следующее:
1. Файл переименовывается в псевдослучайным образом сгенерированное имя (генерация осуществляется при помощи криптопровайдера RSA), состоящее из малых латинских букв (a...z), больших (A...Z) и цифр (1...9). При переименовывании файлу задается скрытый атрибут.
2. Происходит открытие файла на запись. Файл некоторое количество раз (заданное флагом в реестре) перезаписывается по маске (текущая маска: байты со значением 0xFF).
3. Происходит удаление файла.
При удалении папки выполняется следующее:
1. Папка переименовывается в псевдослучайным образом сгенерированное имя (генерация осуществляется при помощи криптопровайдера RSA), состоящее из малых латинских букв (a...z), больших (A...Z) и цифр (1...9). При переименовывании папке задается скрытый атрибут.
2. Папка стандартным образом удаляется.
При перемещении файла выполняется следующее:
1. Создание необходимого каталога для файла (если, например, файл перемещается из вложенного каталога, на новом месте необходимо сохранить структуру каталогов).
2. Копирование файла на новое место.
3. Надежное удаление файла (описано выше).
При перемещении папки выполняется следующее:
1. Если папка не существует по пути, куда ее перемещает пользователь - папка создается.
2. Надежное удаление папки (описано выше).
При рекурсивном удалении (перемещении) происходит удаление (перемещение) из "глубины" вложенности на верхний уровень. Таким образом обход дерева поиска происходит снизу вверх, слева направо ("При этом лево и право" определяется системными метода перебора папок/файлов в папке FindFirstFile и т.п.), где конечными вершинами дерева являются пустые папки и файлы.