从互联网上获取时间(绕过PC时钟)?

时间:2010-03-05 13:08:13

标签: c++ time protection trialware

对于我的MFC / C ++非托管时间限制软件需求,我想从互联网上获取GMT / UTC时间戳(而不是依赖可以轻松更改的PC时钟时间)。

我已经考虑过从http://www.timeanddate.com/worldclock/解析“当前UTC”......行(我认为端口80比其他端口更容易打开),但我不知道这个URL有多可靠。 ..

请与我分享您的利弊或不同的想法。

感谢。

6 个答案:

答案 0 :(得分:7)

使用SNTP(简单网络时间协议)从互联网原子钟获取时间。

网上有几个图书馆 - here's one for MFC on codeproject

答案 1 :(得分:3)

看起来可行,这已经广泛完成了。

如果网站决定更改其HTML,则timeanddate.com的抓取可能会中断。即使HTML中的细微变化也会破坏你的刮刀。

我建议你使用像earthtools这样的网络服务。您必须在URL中传递必要的参数(纬度和经度等),并且响应是您可以轻松解析的XML。

答案 2 :(得分:1)

让您的计划更好,而不是浪费时间来保护它。您可以做的任何此类保护都将很容易被规避。如果您坚持,可以在服务器上运行该软件,因为这是实际执行此类限制的唯一方法。

答案 3 :(得分:1)

嗯,总结: 我的应用程序包含一个脱机数据库,每天从Intranet更新一次 如果它没有在一周内更新,我想粉碎这个数据库,这就是为什么我想尝试降低某人只是向后改变PC时钟的可能性。
我充分意识到有些高级用户可能会阻止我的应用程序以20种不同的方式获取互联网时间,但我正在尽力在软件中做到最好(硬件解决方案,例如加密狗对我来说太过分了。)

由于我想要一个端口80解决方案,我将采用codaddict的解决方案(earthtools),否则将采样PC时钟。

感谢所有回复!

答案 4 :(得分:0)

嗯。有趣。您基本上尝试将Internet用作加密狗。

如果你真的需要对你的软件提供这种“保护”,你或许应该考虑使用真正的时钟加入一个真正的加密狗,比如HASP。当然,任何解决方案对于一个有反汇编的体面黑客来说都是微不足道的。

一般来说,我认为最好先打开你的软件,然后尝试使用修复程序,mod和支持。

答案 5 :(得分:0)

答案在您的问题中提出......转到https://www.timeanddate.com/并查找" API",您会找到以下页面: https://www.timeanddate.com/services/api/ 详细说明:https://services.timeanddate.com/api/packages/time.html 使用他们的API发送请求并接收XML或JSON响应。它每年花费150美元,但这是专业的方式,因为你的目的是为你的软件收费它是有道理的。