【问题标题】:Detected DLLs that are from the internet and "blocked" by CASPOL检测到来自 Internet 并被 CASPOL “阻止”的 DLL
【发布时间】:2011-09-06 21:27:04
【问题描述】:

有没有办法在代码中 检测 DLL 是否因为从 Internet 下载而被阻止加载?我知道caspol.exe 实用程序可以读取权限设置,但如果可能的话,我想留在代码中。

【问题讨论】:

  • 好吧,当然,Assembly.LoadFrom() 调用会引发异常。你到底在说什么?
  • @Hans:这是一个从本地网络复制文件的实用程序,我希望能够检测到被阻止的 DLL 以发送存在问题的通知。我不想加载每一个只是为了看看我是否可以。但你是对的,这是一种解决方案......

标签: .net dll caspol


【解决方案1】:

被阻止的内容由 NTFS 替代数据流控制,并且可以使用名为 streams 的 sysinternals 命令行实用程序删除。这是来自 ADS 上 Wikipedia 的引述。

微软推出了附件执行服务,用于存储 备用数据流中下载文件来源的详细信息 附加到文件中,以保护用户免受下载文件的侵害 这可能会带来风险。

它跟踪文件的来源,因此如果它来自互联网,它会应用不受信任的安全策略。删除流会删除文件来自不受信任的来源的记录。这与右键单击文件、查看属性并选择取消阻止具有相同的效果。这也与使用caspol 使dll 完全信任的效果相同。

以下创建一个与文件 test 关联的零字节流。

echo hello > test:stream

codeproject 上的以下项目有一些使用它们的示例代码。我相信您需要从非托管代码中删除它们。

Accessing alternative data-streams of files on an NTFS volume

【讨论】:

  • 我不清楚这与 CASPOL DLL 阻塞有何关系。你能举一个更具体的例子吗?
  • 我指的是将下载的文件跟踪为来自不受信任的来源(因此被阻止)的机制。更新以帮助澄清。
猜你喜欢
  • 1970-01-01
  • 2021-05-18
  • 2019-01-04
  • 1970-01-01
  • 2014-02-28
  • 1970-01-01
  • 2020-07-16
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多