是否有一种方法在代码中检测到DLL是否因为从互联网上下载而被阻止加载?我知道caspol.exe
实用程序可以读取权限设置,但如果可能的话,我希望保留代码。
答案 0 :(得分:1)
阻止的内容由NTFS备用数据流控制,可以通过名为streams的sysinternals使用命令行实用程序删除。这是来自ADS的Wikipedia的引用。
Microsoft推出了存储的附件执行服务 有关备用数据流中下载文件来源的详细信息 附加到文件,以保护用户免受下载的文件 这可能会带来风险。
它跟踪文件的来源,因此如果它来自互联网,则应用不受信任的安全策略。删除流将删除该文件来自不受信任来源的记录。这与右键单击文件,查看属性和选择取消阻止具有相同的效果。它与使用caspol
使dll完全信任的效果相同。
以下内容创建了与文件测试关联的零字节流。
echo hello > test:stream
关于codeproject的以下项目有一些用于处理它们的示例代码。我相信你需要从非托管代码中删除它们。
Accessing alternative data-streams of files on an NTFS volume