Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Kernel HWID Spoofer: Проблемы с кэшем stornvme и NDIS

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
347
Реакции
7
Народ, кто плотно сидит на написании своего kernel-mode софта, есть пара вопросов по архитектуре спуфера. Уперся в интересную стену: базовые IOCTL-хуки на хранилище (StorageIdQueryIoc и прочие) работают стабильно, SMBIOS и физический MAC подменяются без проблем, но всплывают утечки через системные API.

1. Get-PhysicalDisk и кэш stornvme
Win32_DiskDrive отрабатывает как надо, а вот Get-PhysicalDisk лезет напрямую в SMP (Storage Management Provider). Похоже, он вычитывает данные из DeviceExtension пулов в stornvme.sys, которые закэшированы еще на этапе загрузки. DKOM-свипер через MmIsAddressValid у меня вызывает BSOD (AV_VRF_nt!IopReadFile) из-за race conditions. Кто как обходит эту историю? Есть ли способы патчить непагед-пулы без того, чтобы система улетала в ребут при первой же проверке?

2. NDIS и виртуальные адаптеры
Физику хукаю нормально, но Windows упорно палит маки виртуалок: Microsoft Wi-Fi Direct и кучу WAN Miniport'ов. Обычные OID-хуки их просто игнорируют. В какую сторону копать, чтобы перехватить генерацию маков для этих адаптеров? Есть подозрение, что через NDIS-фильтры тут не отделаться, может кто подкинет дельный совет по архитектуре?

3. PnP и Registry Anchors
ComputerHardwareId светит оригинальный GUID, а Device Instance ID с PCI-слотами не дает покоя. Пытался патчить DeviceNode через DKOM, но SetupAPI при сканировании крашит диски. Как вы грамотно обходите PnP-топологию без фатальных ошибок?

- Обнаружены утечки NGUID и EUI-64 при прямом запросе к SMP.
- Используется чистый C++.
- Проблема с TOCTOU в DKOM-подходе.

Интересует мнение тех, кто уже решал вопрос динамической очистки кэша или плотно работал с NDIS для подмены виртуальных интерфейсов. Кто уже наступал на эти грабли, есть наработки по стабильному обходу?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Тоже сижу над этой темой. По Get-PhysicalDisk интересно: пробовал чистить кэш через IoInvalidateDeviceRelations, но stornvme всё равно тянет старые данные из логов загрузки. У тебя BSOD именно на чтении из пага? Может, проще фейковый диск через фильтр-драйвер подложить, чем в непагед лезть?
 
Назад
Сверху Снизу