为什么我的 HWID 锁接受任何acceptedSerial_2值

Why does my HWID lock accept any value in acceptedSerial_2

本文关键字:acceptedSerial 任何 我的 HWID 为什么      更新时间:2023-10-16

基本上我使用 HWID 锁来锁定我的程序,但我有一个问题,我的程序接受任何值acceptedSerial_2 这是代码,请帮我改进,谢谢! 显然,当我运行程序时,接受的序列号不是 0,它们是受人尊敬的值

{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
std::cout << ":: Verifying HWID n " << std::endl;
TCHAR volumeName[MAX_PATH + 1] = { 0 };
TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
DWORD serialNumber = 0;
DWORD maxComponentLen = 0;
DWORD fileSystemFlags = 0;
if (GetVolumeInformation(
_T("C:\"),
volumeName,
ARRAYSIZE(volumeName),
&serialNumber,
&maxComponentLen,
&fileSystemFlags,
fileSystemName,
ARRAYSIZE(fileSystemName)))
{
DWORD acceptedSerial = 0; // 
DWORD acceptedSerial_1 = 0; //
DWORD acceptedSerial_2 = 0; // 

if (serialNumber == acceptedSerial || acceptedSerial_1 || acceptedSerial_2)
{
MessageBox::Show("Access Granted!",
"Welcome",
MessageBoxButtons::OK,
MessageBoxIcon::Exclamation);
return(0);
}
else
{
MessageBox::Show("HWID Missmatch",
"Error",
MessageBoxButtons::OK,
MessageBoxIcon::Error);
exit(0);
}

}
}```

如果只想接受三个值:acceptedSerialacceptedSerial_1acceptedSerial_2,则逻辑表达式将if ((serialNumber == acceptedSerial) || (serialNumber == acceptedSerial_1) || (serialNumber == acceptedSerial_2))

但是,您当前使用的那个:只要acceptedSerial_1acceptedSerial_2不等于serialNumberif (serialNumber == acceptedSerial || acceptedSerial_1 || acceptedSerial_2)始终true

请参阅C++逻辑 OR 运算符:||。

相关文章:
  • 没有找到相关文章