如何处理离线软件激活

问题描述 投票:0回答:1

您知道过去如何通过更改系统时间来延长免费试用吗?是的,我正在想办法防止这种情况发生。

目前我正在研究软件许可,我正在尝试弄清楚如何处理离线激活,特别是现代软件如何识别,即尽管本地系统时间发生了变化,但一年已经过去了。

我的想法是检查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.

python subscription licensing
1个回答
0
投票

正如您提到的,这是不可能预防的。

在检测时间变化时,您可以考虑许多信息:

  • 系统启动时间

您可以使用命令: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 通常没有原始套接字问题。

  • 加密保存次数文件。

使用任何密码库即可,如果文件被删除,则试用期结束。

您必须决定哪个最适合您的计划

© www.soinside.com 2019 - 2024. All rights reserved.