不使用 IP 识别计算机
identify a machine not by using IP
假设我正在编写一个游戏,我希望在违反条款后禁止人们使用它。我可以禁止每个帐户的他们,我也可以禁止他们的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 ++一起使用的示例
WindowsManagement 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();
}
相关文章:
- 提升 ASIO 无法识别计时器对象
- 从udp接收帧对于人脸识别来说太慢
- 模板类无法识别友元运算符
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- std::visit无法识别类型
- 无法识别模板功能
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何在LLVM中dyn_cast以识别StoreInst?
- 从不同的附加依赖项中识别等同命名的函数
- C++出现控制台错误.我无法识别源代码的问题
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- Qt:"Q3DScatter"即使包含在内也无法识别
- 为什么我能够为阵列分配比计算机实际拥有的内存更多的内存
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- 使用指针的类识别
- 如何静态识别动态堆分配?
- 为什么C++无法识别我的对象实例化?
- C++ 无法识别创建进程'telnet'
- 不使用 IP 识别计算机