软件或防病毒产品的试用版如何真正工作
How does a trial version of Software or Antivirus product really work?
我想为我的产品提供一个离线CRM应用程序,该应用程序是用C++
编写的,试用期为30天。我目前正在做的是提供一个加密文件,该文件记录了当前日期,安装日期和一些计算,以检查此差异是否>30
- 软件将无法正常工作。
但是,如果客户端不更改系统日期,我的意思是如果他关闭时间同步怎么办? 我怎样才能获得试用日的工作执照?
即使日期处于非活动状态,小时也会同步吗?
请让我知道。
与所有其他安全问题一样,问题不在于是否有可能绝对安全(因为它不是),而在于安全性如何。
即使你能找到一种方法来确保时间正确,什么会阻止用户删除或篡改文件?还是卸载试用版软件,然后重新安装?还是反编译它并删除文件检查?
顺便说一句,超越软件架构概述了试用和演示软件的各种方法。从本质上讲,它回答了原始问题软件或防病毒产品的试用版如何真正工作?
您可以尝试保存上次启动的日期和时间。如果您检测到时间已解除(您上次启动是在将来),那么您清楚地知道用户正在作弊,并且可能会拒绝启动并显示错误消息。
但是,这应该谨慎进行。时间应存储为 UTC,以避免夏令时开始时发生的所有奇怪事情。时间放开的检测应该有足够的阈值,让用户有充分的理由自由地调整时钟。
相关文章:
- 函数何时会在c++中包含stack_Unwind_Resume调用
- Python中的for循环与C++有何不同
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 尝试用java代码编译和运行c++代码
- 是否可以在C++中使变量真正只读
- C++初级读本5版1.23从文件流中读取
- boost odeint什么时候真正调用观测者
- 旧版c++中结构和类之间的差异
- 如何将真正的字符串从python c-api转换为python脚本
- C++入门 5 版:类消息和文件夹
- 在C++中释放内存期间,迭代器与指针有何不同
- pybind11 运行测试用例
- 代码精简版页面变为空白
- "constinit"和"constexpr"之间的真正区别是什么?
- GTest,仅参数化测试用例
- 如何使用不同的谷歌模拟运行相同的谷歌测试用例?
- 试用版代码在 Windows 上的 32 位运行速度比在 Linux 上的 64 位快 2 倍
- 软件或防病毒产品的试用版如何真正工作
- 如何在64位应用程序中使用InstallShield 2012试用版功能
- Nvidia Nsight Eclipse版远程调试用C/ c++远程启动配置