Этот проект представляет собой эмулятор драйвера для шифрования и дешифрования файлов с использованием простого XOR-шифрования. Программа имитирует взаимодействие с виртуальным драйвером устройства через IOCTL-команды, предоставляя пользовательский интерфейс для выбора файлов и директорий.
- Выбор директории для сохранения обработанных файлов
- Выбор файла для шифрования/дешифрования
- Шифрование файлов с помощью XOR-алгоритма
- Дешифрование ранее зашифрованных файлов
- Автоматическое создание папки
ProcessedFilesдля сохранения результатов - Эмуляция работы с драйвером через IOCTL-команды
- Операционная система Windows
- Компилятор с поддержкой C++ (например, MSVC или MinGW)
- Стандартные библиотеки Windows
- Запустите программу
- Выберите директорию, где будут сохраняться обработанные файлы
- Выберите файл для обработки
- Укажите действие (шифрование или дешифрование)
- Результат будет сохранен в поддиректории
ProcessedFilesвыбранной директории
- Используется XOR-шифрование с фиксированным ключом
0x5A - Все операции выполняются побайтово
- Поддерживаются бинарные файлы любого типа
- Реализована эмуляция драйвера через IOCTL-команды:
IOCTL_ENCRYPT_FILE(0x800) - для шифрованияIOCTL_DECRYPT_FILE(0x801) - для дешифрования
driver_emulator/
├── main.cpp - Основной файл программы
├── FileManager.h - Функции для работы с файлами и директориями
├── CryptoHelper.h - Реализация XOR-шифрования
├── Driver.h - Эмуляция драйвера и IOCTL-команд
- Используется простой XOR-алгоритм, который не является криптографически стойким
- Ключ шифрования фиксированный и хранится в коде
- Эмуляция драйвера не является реальным драйвером, а лишь имитирует его поведение
- Реализация реального драйвера вместо эмуляции
- Добавление поддержки выбора ключа шифрования
- Реализация более сложного алгоритма шифрования
- Добавление обработки нескольких файлов одновременно
- Реализация графического интерфейса