Обнаружены библиотеки DLL, которые находятся в Интернете и заблокированы CASPOL - PullRequest
0 голосов
/ 07 сентября 2011

Есть ли способ в коде , чтобы определить, заблокирована ли загрузка DLL из-за ее загрузки из Интернета?Я знаю, что утилита caspol.exe может читать настройки разрешений, но я хотел бы остаться в коде, если это возможно.

1 Ответ

1 голос
/ 07 сентября 2011

Заблокированный контент контролируется альтернативными потоками данных NTFS и может быть удален с помощью утилиты командной строки с помощью sysinternals, называемой streams . Это цитата из Википедии на ADS.

Microsoft представила Службу выполнения вложений, которая хранит сведения о происхождении загруженных файлов в альтернативных потоках данных прикреплен к файлам, чтобы защитить пользователей от скачанных файлов это может представлять риск.

Он отслеживает происхождение файла и, следовательно, если он возник из Интернета, он применяет ненадежную политику безопасности. Удаление потока удаляет запись о том, что файл поступил из ненадежного источника. Это имеет тот же эффект, что и щелчок правой кнопкой мыши по файлу, просмотр свойств и выбор разблокировки. Это также влияет на использование caspol для полного доверия dll.

Следующее создает поток нулевых байтов, связанный с тестом файла.

echo hello > test:stream

В следующем проекте codeproject есть пример кода для работы с ними. Я считаю, что вам нужно удалить их из неуправляемого кода.

Доступ к альтернативным потокам данных файлов на томе NTFS

...