Как правильно подойти к вопросу: существует ли глобальный список популярных CLSID?

Ссылка скопирована
1 ответ

Сейчас ситуация такая: озадачился вопросом, существует ли глобальный список популярных CLSID? Я наискал в поиске несколько статей, ну где их максимум 100 штук. Может кто-то поделится ресурсом? Задача - быстро проверить, что это за CLSID, на какой объект указывает. И чтобы это можно было сделать в одном месте, а не гуглить каждый по отдельности.
По вводным: заранее благодарю за ответ!

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Единого “глобального списка всех популярных CLSID” нет, потому что CLSID регистрируются Windows, Office, COM-компонентами, драйверами, браузерами, сторонними программами и внутренними библиотеками. На одной машине список может сильно отличаться от другой. Но можно быстро понять, что означает конкретный CLSID.

Главный источник - реестр:

Get-ItemProperty "Registry::HKEY_CLASSES_ROOTCLSID{CLSID-HERE}"

Get-ItemProperty "Registry::HKEY_CLASSES_ROOTCLSID{CLSID-HERE}"

Или через reg query:

reg query HKCRCLSID{CLSID-HERE} /s

reg query HKCRCLSID{CLSID-HERE} /s

Смотрите поля:

  • InprocServer32 - DLL, которая реализует COM-объект;
  • LocalServer32 - EXE-сервер;
  • ProgID - человекочитаемое имя;
  • TypeLib - библиотека типов;
  • AppID - связь с DCOM-настройками.

Если нужно быстро проверять много CLSID, напишите небольшой скрипт, который читает HKCRCLSID и ищет совпадения:

$id = "{00000000-0000-0000-0000-000000000000}"
$key = "Registry::HKEY_CLASSES_ROOTCLSID$id"
if (Test-Path $key) {
  Get-ItemProperty $key
  Get-ItemProperty "$keyInprocServer32" -ErrorAction SilentlyContinue
  Get-ItemProperty "$keyLocalServer32" -ErrorAction SilentlyContinue
}

$id = "{00000000-0000-0000-0000-000000000000}" $key = "Registry::HKEY_CLASSES_ROOTCLSID$id" if (Test-Path $key) { Get-ItemProperty $key Get-ItemProperty "$keyInprocServer32" -ErrorAction SilentlyContinue Get-ItemProperty "$keyLocalServer32" -ErrorAction SilentlyContinue }

Публичные списки полезны только для известных Windows/Office CLSID, но они не покроют всё. Для расследования на конкретной машине важнее локальный реестр и путь к DLL/EXE. Если путь ведёт в System32 и подпись Microsoft - это одно. Если в AppData/Temp или неизвестную папку - нужно проверять подпись, хэш и автозагрузку.

Итог: используйте публичные списки как справочник, но основной ответ по CLSID всегда находится в реестре конкретной системы.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно