是否有任何方法或建议如何在用C#编写的程序中准备和授权USB驱动器?我不想准备某种白名单,但不知何故检测到USB驱动器是由我准备的。 USB驱动器将用于更新我的程序。
检测隐藏文件和文件夹不是解决方案,因为用户始终可以显示/删除所有隐藏的内容。
此外,该程序必须检测到Windows驱动器上的USB驱动器是否已获得授权> =。
修改
USB驱动器应该像普通USB一样在每个操作系统上工作,除了它应该在我的程序中可以授权的东西。
答案 0 :(得分:2)
根据一些Mike of SST advices,我设法准备了满足我的解决方案。它不直接使用C#,但可以用该语言进行管理,
我的解决方案中的步骤:
在该解决方案中,用户根本不知道USB是否被授权,他可以格式化可见分区并在其上写下所有内容。即使复制该驱动器的图像也不会授权复制USB驱动器。
使用dd for Windows我能够读取和写入该哈希,我可以直接从c#运行该过程。
答案 1 :(得分:1)
为什么要尝试避免使用特殊文件?您将隐藏的txt文件与生成的哈希键放在其中。此哈希是根据您的USB驱动器制造商序列号和密钥(您的程序具有)生成的。将USB驱动器放入计算机时,程序会从文件中读取哈希键,并将其与程序计算出的值进行比较。如果它们相同,则授权USB驱动器。您没有在没有此文件的情况下授权USB驱动器。如果您希望用户无法删除此文件,则应使用隐藏分区,但这是更复杂的解决方案。
答案 2 :(得分:0)
如何加密整个驱动器或在其上放置加密文件/容器?密码可以嵌入您的程序中。 (这不是最安全的解决方案,但对于您的目的来说很简单。)