gpt4 book ai didi

c# - 是否存在即使在虚拟机中也可以可靠使用的唯一计算机标识符?

转载 作者:可可西里 更新时间:2023-11-01 08:43:54 26 4
gpt4 key购买 nike

我正在编写一个在终端服务器上运行的小型客户端程序。我正在寻找一种方法来确保它只在指定的服务器上运行,如果它从服务器上删除,它将停止运行。

我知道没有办法让它 100% 安全,尽管如此,我还是想让大多数高级用户难以做到这一点。

我正在查看不同的唯一标识符,例如处理器 ID、Windows 产品 ID、计算机 GUID 和其他 UI。因为终端服务器是一个虚拟机,所以我找不到任何完全是这台机器独有的东西。

关于我应该研究什么以确保它最安全的任何想法。我没有时间也没有必要让它尽可能安全,因为它会破坏应用程序本身的目的。

我不想使用 MAC 地址。尽管它对于每台机器都是唯一的,但可以按照互联网上的说明进行欺骗。

就 Microsoft 产品 ID 而言,因为我们的系统团队克隆了 VM 服务器并且我们使用了公司卷 key ,所以我发现已经有两台我可以访问的服务器具有相同的产品 ID 号。我不知道有多少其他人有相同的产品 ID

或者,与其尝试识别机器,不如通过识别用户并创建通过 AD 处理的基于组的权限来访问该软件可能会更好。

最佳答案

根据设计,唯一标识虚拟机很困难;任何允许您唯一标识它的东西都意味着它不是完​​全虚拟的(因为克隆虚拟机应该产生相同的机器)。

  1. 在通过环回网络适配器与虚拟机通信的主机上创建心跳应用程序。
  2. 如果无法唯一标识主机,则让心跳应用程序拒绝运行。
  3. 如果心跳应用程序未运行,则让主应用程序拒绝运行。

您需要找到一种方法来确保心跳应用程序不会太容易被欺骗。

不可能 100% 保护终端程序。这个问题相当于试图防止软件盗版。

关于c# - 是否存在即使在虚拟机中也可以可靠使用的唯一计算机标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4594520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com