Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anonify Logo

Anonify

🛡️ Утилита для защиты системной приватности и унификации аппаратного слепка (Hardware Fingerprint).

⚠️ Важное предупреждение (Disclaimer)

Проект создан исключительно в ознакомительных и исследовательских целях. Он не предназначен для обхода анти-читов на уровне ядра (kernel-level). Главная цель проекта — унификация системы, то есть защита оригинального аппаратного слепка ПК от утечки и сбора другими программами (tracking/fingerprinting). Использование программы осуществляется исключительно на ваш собственный риск. Автор не несет ответственности за возможные неполадки или блокировки.


🌟 Ключевые особенности и архитектура

Проект выделяется на фоне аналогов рядом нестандартных архитектурных и технических решений:

Сильные стороны и фичи:

  • Динамический поиск оффсетов (PDB Resolver): Вместо хардкода оффсетов под разные версии Windows, используется динамическая загрузка ntoskrnl.exe PDB. Это делает программу более адаптивной к обновлениям ОС.
  • Безопасная работа с памятью ядра: Модификация памяти происходит через механизм MDL и MmMapIoSpaceEx с флагами PAGE_READWRITE. Устаревший и опасный сброс регистра CR0.WP не используется.
  • Широкое покрытие периферии: Помимо стандартных SMBIOS и дисков, реализованы компоненты подмены для GPU, Audio, Display, USB, что делает изменения глубокими и комплексными.
  • Умный System Cleaner: Встроенный модуль очистки (эвристика) находит и безопасно удаляет остаточные файлы, профили игр (и покера) и системный мусор (с поддержкой обширного Whitelist'а вендоров).
  • Изолированная UI-Архитектура и Связи Классов: Строгое разделение бизнес-логики и UI (Spectre.Console). Для разработчиков важно понимать ключевые связи:
    • Навигация и UI: Работает через кастомный Stack<IPage>. Если компоненту нужно отправить лог в UI, он не использует напрямую консоль, а получает IUiReporter через конструктор.
    • Оркестратор (HardwareSpoofer.cs): Управляет всем процессом (Снятие Snapshot -> Backup -> UserMode подмена -> Загрузка PDB -> Работа драйвера).
    • Связь с драйвером (DriverCommunicator.cs): Взаимодействует с ядром через Shared Memory (MemoryMappedFile) и поллинг статусов.

Ограничения (Вне рамок проекта):

  • Нет кастомного маппера драйвера: Для загрузки драйвера используется публичный KDU (kdu.exe + drv64.dll). Его сигнатуры известны ядру и защитным механизмам.
  • Отсутствие CPU / Hypervisor хуков: Для перехвата некоторых специфичных инструкций процессора необходим гипервизор. Это выходит за рамки задачи "унификации", так как требует сложной и нестабильной инфраструктуры.
  • Итог: Проект не является rootkit-ом для обхода защит; это инструмент приватности, предоставляемый для открытого изучения и самостоятельной доработки.

🧩 Поддерживаемые компоненты

Программа умеет модифицировать следующие компоненты системы:

  • SMBIOS (Type 0-4): BIOS, System, Baseboard, Chassis, CPU.
  • Периферия: Диски (Disk/Volume/SMART), Видеокарты (GPU/UUID), Мониторы (EDID), Аудио устройства, USB-контроллеры.
  • Система и Сеть: Сетевые карты (генерация LAA/OUI, MAC), обход детекта ВМ, MachineGuid, HWProfile и реестр (NT).

🛠 Требования и Инструкция по сборке

Системные требования:

  • ОС: Windows 10 или Windows 11 (x64).
  • Безопасность: Необходимо обязательно отключить Windows Defender (или добавить папку с софтом в исключения), так как использование KDU и модификация ядра неизбежно детектируются как угроза. Рабочую папку программы лучше держать в исключениях антивируса.
  • Подписи драйверов: Отключать проверку цифровой подписи драйверов (Driver Signature Enforcement) или включать тестовый режим НЕ НУЖНО. Программа использует маппер KDU, который загружает драйвер в память в обход этих проверок.

Инструменты для сборки из исходников:

Если появится желание дописать проект или скомпилировать его самостоятельно, потребуется:

  1. .NET 9.0 SDK (Для C# части и консольного интерфейса).
  2. Visual Studio с установленным WDK (Windows Driver Kit) (Для сборки C драйвера).
  3. Интегрированные зависимости (уже присутствуют в проекте): KDU (маппинг драйвера) и dbghelp.dll (для работы с PDB).

⚠ Правила компиляции:

  • Драйвер (C): Запрещено компилировать через CLI (msbuild). Сборка выполняется строго вручную через Visual Studio в режиме Debug. Так как это не классический WDM-драйвер (он маппится в память вручную), для его сборки требуются специфические флаги компиляции. Они уже настроены в проекте для режима Debug, поэтому изменение профиля сборки приведет к неработоспособности драйвера.
  • Клиент (C#): Можно собирать стандартной командой dotnet build. Специфических требований к конфигурации (Debug/Release) со стороны интерфейса нет.

💡 Как пользоваться, Бэкапы и Профили

Программа работает по принципу создания «снимка» (Snapshot) вашей системы до начала любых изменений.

Бэкапы и Откат к оригиналу:

  • При первом запуске (или перед спуфом) программа автоматически формирует оригинальный бэкап — реальный слепок ваших первоначальных аппаратных данных.
  • Откат к оригиналу (Factory Reset) происходит через меню: программа берет данные из оригинального бэкапа и восстанавливает все измененные значения обратно.

Зачем нужны Профили и как работают изменения: Некоторые компоненты (например, ключи реестра) сохраняются навсегда, в то время как другие (например, структуры SMBIOS) модифицируются драйвером напрямую в оперативной памяти (RAM) и восстанавливаются в оригинальное состояние после перезагрузки ОС.

  • Система бэкапов это учитывает: архитектура (интерфейс IPersistentComponent) разделяет постоянные и временные изменения, поэтому откат работает корректно.
  • Почему выбран такой подход для RAM: Программа не прошивает физический BIOS и не использует bootkits (загрузчики вроде EFI-хуков). Это самый безопасный метод, который гарантирует, что материнская плата не выйдет из строя.
  • Как использовать: Достаточно один раз сохранить нужный профиль спуфа в Anonify и загружать его заново после каждой перезагрузки Windows, чтобы восстановить те компоненты, которые сбрасываются из памяти.

Очистка Системного мусора, Логов и EFI

Просто подменить железо недостаточно — стороннее ПО или игры часто оставляют скрытые следы ("трейсы") на ПК, по которым можно связать новую систему со старым профилем. Для защиты от этого предусмотрен отдельный блок:

  • Эвристический поиск (System Cleaner): Программа динамически сканирует AppData, Temp, ключи реестра и другие директории на наличие остаточных файлов от игр, покерных клиентов и телеметрии.
  • Очистка журналов (Event Logs): Windows ведет подробные логи событий, в которых навсегда сохраняется история подключений старого оборудования. Программа умеет корректно очищать эти журналы.
  • Интерактивный ручной анализ: Программа не удаляет всё вслепую. Присутствует функция генерации списка подозрительных остаточных файлов. Пользователь может самостоятельно изучить этот список и выбрать, что именно удалить, минимизируя риск потери нужных личных данных.

📝 Логирование

  • Логи: Все действия программы логируются (через встроенный сервис FileLogger), поэтому в случае непредвиденных ситуаций или ошибок при самостоятельной сборке вы всегда сможете найти детали в лог-файлах.

About

Advanced utility for system privacy protection and hardware fingerprint unification. Includes a C# user-mode app and a WDM kernel driver. For educational and research purposes.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages