2017-04-24 74 views
0

我正在研究隱藏文件的程序。我用的是如何阻止隱藏的系統文件被看到?

File.SetAttributes()

命令來設置文件屬性爲隱藏和系統。但由於顯示隱藏的文件,文件夾和驅動器選項已設置,因此仍然可以看到它們。

是否可以使用C#設置和取消隱藏受保護的操作系統文件(推薦)選項?

我手動和隱藏和系統屬性設置的文件無法看到。

+2

什麼。 –

+0

「第3法則:如果一個壞人有無限制的物理訪問權限,那不再是你的電腦了。」 - 您的用戶無限制地訪問他的電腦,因此您的C#應用​​程序無法控制它。 –

+0

您可能需要考慮在C#中運行PowerShell腳本。或者,如果這是您的程序正在執行的唯一任務,則僅使用PowerShell。 – coinbird

回答

1

即使您想出如何做到這一點,您的方法也有幾個問題。例如:

  • 用戶可以手動地更改設置,或
  • 用戶可以運行與特定開關的dirls命令和將顯示隱藏的文件
  • 另一個方案將能夠讀取一個文件,即使它被隱藏起來

你要做的是與rootkit /惡意軟件的界限。 rootkit的做法是通過運行微過濾器文件系統驅動程序。驅動程序接收到特定的IO調用,並且只要向「隱藏」文件發出IO請求,就會返回「找不到」結果。驅動程序通常會允許來自特定進程(通過pid或證書標識)的調用,以允許讀取/寫入和其他IO操作。另外,根據您嘗試實現的內容,您可以嘗試使用容器類文件(請參閱TrueCrypt或其衍生物)或以編程方式加密文件。

0

我建議你利用微軟的NTFS或AD,.NET框架或API來管理這個。正如最初的答案所提到的,如果文件試圖隱藏,它們是其他可能的方法來顯示文件。

考慮使用,

File.SetAttributes(path, FileAttributes.Hidden); 

來源答案從另一個答案:當一個人把它再重新應該發生How to hide file in C#?

相關問題