不使用 IP 识别计算机

identify a machine not by using IP

本文关键字:识别 计算机 IP      更新时间:2023-10-16

假设我正在编写一个游戏,我希望在违反条款后禁止人们使用它。我可以禁止每个帐户的他们,我也可以禁止他们的IP,但这不会永远禁止他们进入我的游戏。他们只需要创建一个新帐户并更改他们的IP。

世界上是否有像机器 ID 这样的东西对于每台机器都是唯一的?如果有,是否可以使用程序语言阅读它?用户是否可以更改此计算机 ID?

防弹解决方案?我会说没有解决方案100% secure的,即使投入了巨额资金。您可以做的是使普通用户尽可能困难,从而最大程度地减少cheaters

您可以hash id电脑machine id + the mac address + the motherboard id + the harddisk id ,等等。但是一个聪明的破解者/黑客可以解决这个问题。我的意思是看看像Microsoft这样的公司,它们使用数百万美元来制作安全的方式,但人们仍然可以以某种方式绕过激活...... ;)


在窗户里有一个hardware id,你可能会被吸引。

HKEY_LOCAL_MACHINESoftwareMicrosoftCryptographyMachineGuid

也看看WMI,有一些如何与c ++一起使用的示例

Windows

Management Instrumentation (WMI) 是 Windows 驱动程序模型的一组扩展,它提供了一个操作系统接口,通过该接口检测组件。

请参阅 WMI c++ 示例

您可以在WMI Win32_DiskDrive中获得的硬盘序列号怎么样。

ManagementObjectSearcher searcher = null;
try
{
    searcher = new ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_DiskDrive"); 
    foreach (ManagementObject queryObj in searcher.Get())
    {
        Console.WriteLine("SerialNumber: {0}", queryObj["SerialNumber"]);
        queryObj.Dispose();
    }
}
finally
{
    if (searcher != null)
        searcher.Dispose();
}