You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python生成的Windows可执行文件仅在特定时长内运行

PyInstaller打包的Windows试用版软件防篡改时长限制方案

针对你的需求,不用依赖系统时间、也不用修改exe本身的可行方案如下:

  • 加密存储累计运行时长
    放弃依赖系统时间,转而记录软件实际运行的累计时长:每次启动时记录当前时间戳,退出时计算本次运行时长,和之前的累计时长相加,将结果用加密算法(比如AES)处理后,存在用户不易察觉的位置——比如AppData目录下的隐藏文件夹、或者注册表的深层项里。用户修改系统时钟对这种方式无效,因为它统计的是实际运行的时间段,而非系统时间差。
    实现时可以用cryptography库做加密,存储路径选类似os.path.expanduser("~/AppData/Local/.myapp/trial_state.bin")的隐蔽路径,文件名尽量取无意义的字符串。

  • 绑定硬件标识增强安全性
    把累计时长和用户设备的唯一硬件标识(比如主板UUID、硬盘序列号)绑定后再加密存储。这样就算用户复制加密文件到其他机器,也无法正常读取,防止试用版被跨机器复用。注意优先选相对稳定的硬件标识,避免因硬件更换导致误判。

  • 反篡改校验
    对存储的加密数据附加哈希校验值,每次读取时先验证哈希是否匹配。如果用户手动修改了存储的时长数据,哈希校验会失败,直接判定为篡改,让软件永久失效。

  • 行业通用思路
    业内几乎不会尝试让exe自修改——一方面Windows下运行中的exe文件会被锁定无法修改,另一方面这种行为容易被杀毒软件判定为恶意程序。把关键授权数据存在外部加密存储里,是试用版限制的标准做法。

内容的提问来源于stack exchange,提问作者ExMachina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:12:08