c# - 如何限制应用程序只能从已知的 U 盘运行?

标签 c# security wmi usb-drive

我需要一个只能从特定 USB 闪存驱动器运行的应用程序。我用 WMI Win32_Diskdrive 类和 PNPdeviceID 属性做了一些测试。使用此数据将应用程序注册到许可证服务器(Web 服务)是一个很好的主意,但我正在寻找第二种方法来加强此方法,以使该过程更难被破坏。

我正在考虑在驱动器中创建第二个隐藏的小分区,并将 PNPdeviceID 或其他信息获得的序列作为名称定位在其中。接受任何其他想法、方法或建议。

提前致谢。

编辑:我已经知道 USB 闪存驱动器的唯一 ID,应用程序可以检查 Interfacetype 属性是否为“USB”。我在 Web 服务支持的许可证管理器中使用 PNPDeviceID 的哈希值注册应用程序。我正在寻找另一种验证方法。

最佳答案

您可以检查卷序列号,这将捕获到新格式化卷的随意复制,但它不会检测到完整字节的卷复制。
To protect software by accessing harddisk serial no
Any faster method to get Volume Serial number?

关于c# - 如何限制应用程序只能从已知的 U 盘运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1303026/

相关文章:

windows-7 - WMI 安全中心产品状态说明

c# - 检测 SQL 集群

c# - 从 PowerShell 调用 WNetAddConnection2

php - Symfony2 身份验证 "login_check"路径未找到

php - 如何发现sql注入(inject)漏洞?

java - URL 标识符的加密算法

jquery - 使用asp.net MVC 3异步自动刷新

c# - PredicateBuilder 嵌套 OR 子句,导致大型谓词嵌套太深的问题

c# - 在 Internet 上用很少的客户端保护 WCF 服务的最佳方法

c# - 在后台播放声音