C# 如何阻止我隐藏的系统文件被看到?
我正在开发一个隐藏文件的程序。我使用 File.SetAttributes() 命令将文件属性设置为“隐藏”和“系统”。但是,由于已设置“显示隐藏文件、文件夹和驱动器”选项,因此仍可以看到这些文件 是否可以使用C#设置和取消设置隐藏受保护的操作系统文件(推荐)选项C# 如何阻止我隐藏的系统文件被看到?,c#,security,C#,Security,我正在开发一个隐藏文件的程序。我使用 File.SetAttributes() 命令将文件属性设置为“隐藏”和“系统”。但是,由于已设置“显示隐藏文件、文件夹和驱动器”选项,因此仍可以看到这些文件 是否可以使用C#设置和取消设置隐藏受保护的操作系统文件(推荐)选项 手动输入,无法看到设置了隐藏属性和系统属性的文件。即使您知道如何执行此操作,您的方法也存在一些问题。例如: 用户可以手动更改设置,或 用户可以使用特定开关运行dir或ls命令,该命令将显示隐藏的文件 另一个程序将能够读取文件,即使它
手动输入,无法看到设置了隐藏属性和系统属性的文件。即使您知道如何执行此操作,您的方法也存在一些问题。例如:
- 用户可以手动更改设置,或
- 用户可以使用特定开关运行
或dir
命令,该命令将显示隐藏的文件ls
- 另一个程序将能够读取文件,即使它是隐藏的
或者,根据您试图实现的目标,您可以尝试使用类似容器的文件(请参见TrueCrypt或其衍生物)或以编程方式加密文件 我建议您使用Microsoft的NTFS或AD、.NET framework或API来管理此功能。正如最初的答案所提到的,如果文件试图隐藏,他们还有其他可能的方法来显示文件 考虑使用
File.SetAttributes(path, FileAttributes.Hidden);
另一个答案的答案来源:以及当该用户再次打开电脑时会发生什么。“第3条:如果一个坏人可以不受限制地访问你的电脑,那它就不再是你的电脑了。”-你的用户可以不受限制地访问他的电脑,因此,您的C#应用程序无法控制它。您可能希望在C#中运行PowerShell脚本。或者,如果这是您的程序正在执行的唯一任务,只需单独使用PowerShell。除了隐藏文件之外,您的程序还有什么用途?