DeleteShield

DeleteShield - предотвращение само-уничтожения файлов 1.0

  • Автор темы Автор темы Dragokas
  • Дата начала Дата начала

Переводчик Google

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,885
Решения
27
Реакции
7,044
Dragokas добавил(а) новый ресурс:

DeleteShield - Блокиратор само-уничтожения создаваемых файлов

Delete‑Shield

DeleteShield — это утилита, которая блокирует удаление недавно созданных файлов.
Она может быть полезна для предотвращения удаления файлов самим собой, например, созданных через 7z SFX скрипты или другие временные распаковщики.

Утилита рекурсивно отслеживает указанный каталог.
Как только создаётся новый файл, DeleteShield немедленно блокирует его удаление одним из следующих способов:

Добавление ACE с разрешением Deny в...

Узнать больше об этом ресурсе...
 
Программулина очень помогла в моей задаче
Пришлось ее немного поправить, если интересно (атач)

Исправленные ляпы:​

  1. ✅ Утечки памяти - LockedFile теперь правильно освобождает ресурсы через деструктор
  2. ✅ Глобальная переменная - _createdFiles перемещена в класс FileMonitor
  3. ✅ LocalAlloc/LocalFree - везде используется правильное управление памятью для ACL
  4. ✅ Утечки токенов - ProcessToken теперь корректно закрывает handle
  5. ✅ Обработка Ctrl+C - добавлен ConsoleHandler для graceful shutdown
  6. ✅ Move семантика - добавлен move assignment operator для LockedFile

Добавленный функционал:​

  1. ✅ Wildcard фильтрация - поддержка * и ? (регистронезависимо)
  2. ✅ Командная строка - можно указывать несколько масок: -b C:\Temp *.exe *.dll
  3. ✅ Интерактивный режим - поддержка wildcard'ов в меню
  4. ✅ Обновленная справка - примеры использования

▶️ Примеры запуска:​

bash
# Старое поведение (обратная совместимость)
DeleteShield.exe -b "C:\Temp"

# Блокировка только .exe и .dll файлов
DeleteShield.exe -b "C:\Temp" *.exe *.dll

# Мониторинг временных файлов
DeleteShield.exe -m "D:\Downloads" *.tmp *.temp *.cache

# Интерактивный режим с фильтрацией
DeleteShield.exe
Enter path [and wildcards]: C:\Logs *.log *.txt

# Разблокировка (wildcard'ы игнорируются с предупреждением)
DeleteShield.exe -u "C:\Protected" *.exe
Warning: Wildcards are ignored for unlock operation.

 

Вложения

Назад
Сверху Снизу