Csharp/C#教程:如何限制应用程序仅从已知的USB闪存驱动器运行?分享


如何限制应用程序仅从已知的USB闪存驱动器运行?

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

我想在驱动器中创建第二个小隐藏分区,并在其中找到PNPdeviceID或其他信息所支持的串行名称。 接受任何其他想法,方法或建议。

提前致谢。

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

您可以检查卷序列号,它将偶然复制到新格式化的卷,但它不会检测完整的字节精确卷拷贝。
通过访问硬盘序列号来保护软件
任何更快的方法来获得卷序列号?

您可以检查运行程序的驱动器类型:

上述就是C#学习教程:如何限制应用程序仅从已知的USB闪存驱动器运行?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

string path = Process.GetCurrentProcess().MainModule.FileName; FileInfo fileInfo = new FileInfo(path); string driveRoot = fileInfo.Directory.Root.Name; DriveInfo driveInfo = new DriveInfo(driveRoot); if (driveInfo.DriveType != DriveType.Removable) { MessageBox.Show("Must run from removable drive"); Application.Exit(); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/936222.html

(0)
上一篇 2021年11月6日
下一篇 2021年11月6日

精彩推荐