您知道过去如何通过更改系统时间来延长免费试用吗?是的,我正在想办法防止这种情况发生。
目前我正在研究软件许可,我正在尝试弄清楚如何处理离线激活,特别是现代软件如何识别,即尽管本地系统时间发生了变化,但一年已经过去了。
我的想法是检查last_used_time - current_time < 0 (in unix timestamps) and lock the software if it is. Last_used_time would be stored in a file along with hardware_id and license_id so possibly if someone figured out how it all works they could just change the the values and have an extend trial like that.
正如您提到的,这是不可能预防的。
在检测时间变化时,您可以考虑许多信息:
您可以使用命令:systeminfo 或 psutil 包。
您可以使用以下命令检测 Windows 更新:wmic qfe list
Bios 版本还带有:systeminfo
对于您可以在 Windows 上使用的驱动程序,请使用 cmd 命令:driverquery 此命令列出一个列表,例如:
Modul Name Display Name Driver Type Link Date
============ ====================== ============= ======================
[...]
VBoxNetAdp VirtualBox NDIS 6.0 Mi Kernel 12.07.2023 18:34:34
VBoxNetLwf VirtualBox NDIS6 Bridg Kernel 12.07.2023 18:34:34
VBoxSup VirtualBox Service Kernel 12.07.2023 18:34:56
VBoxUSB VirtualBox USB Kernel 10.07.2020 23:03:04
VBoxUSBMon VirtualBox USB Monitor Kernel 12.07.2023 18:34:34
[...]
但只有当有人更新驱动程序或选择太晚的日期时,它才会有帮助。
只需将 Windows 上的程序放在 C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 中即可(不受保护)。
使用套接字创建原始套接字,以便您可以捕获网络连接的时间戳或查看用户是否愿意让您访问互联网。您可以将其限制为仅本地主机,以确保防病毒软件不太可能将您视为间谍软件,即使 AV 通常没有原始套接字问题。
使用任何密码库即可,如果文件被删除,则试用期结束。
您必须决定哪个最适合您的计划