我如何强制执行审判的截止日期安装我的软件? [英] How do I enforce an expiration date for a trial install of my software?

查看:198
本文介绍了我如何强制执行审判的截止日期安装我的软件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要提供我的定制软件试用期。我有一个64位的C#应用​​程序,它采用64位,多处理器支持的DLL。被列入的其他实用程序用C ++编写(EXE和DLL)。我必须能够加密C#代码,关键只在特定的计算机上运行的软件,并强制执行无法通过重新设置机器时钟被挫败的截止日期。

I need to offer a trial period for my custom software. I have a 64-bit C# app, which uses 64-bit, multi-processor support DLLs. Other utilities to be included are written in C++ (exes and dlls). I must be able to encrypt the C# code, key the software to run only on a particular machine, and enforce an expiration date that cannot be foiled by resetting the machine clock.

我已经评估了多个开源和COTS解决方案:Infralution许可制度,保护和ExeShield只是仅举几例。他们没有满足我的所有限制。

I've evaluated several open source and COTS solutions: Infralution Licensing System, Protector, and ExeShield just to name a few. None of them satisfy all of my constraints.

是任何人都知道,我应该考虑全ecompasing解决方案?或做我需要做一些注册表潜水,并通过自定义代码执行呢?

Is anyone aware of an all-ecompasing solution that I should consider? Or do I need to do some registry diving and enforce it through custom code?

推荐答案

我发现了几个过程多年的尝试不同的许可证制度存在的安全之间的疏远你的潜在客户的强烈负相关,和。

I've discovered over the course of several years of trying out varying licensing systems that there's a strong inverse correlation between security, and alienation of your potential customers.

有基本上2种盗版,你需要担心。一个是休闲盗版 - 用户使用该软件,而不只是付出,因为他们没有真正想过要。另一种是故意盗版 - 人谁是坚决不交,并愿意把真正的精力投入到不这样做。

There are essentially two kinds of piracy you need to worry about. One is casual piracy - users using the software without paying simply because they haven't really thought to pay. The other is deliberate piracy - people who are determined not to pay, and are willing to put real effort into not doing so.

休闲盗版可以用什么本质来进行处理。下降到温和的提醒 - 激活密钥,时间限制等故意盗版,在另一方面,基本上不能防止。作为索尼,苹果,微软,任天堂和其他一些公司会告诉你,即使你有硬件的控制权的利益,以及该软件,你的保护方案的被打破。并打破它的人是很可能是做了很有趣的挑战,作为获得自由软件的愿望着想。因此,一定的人口,使得保护强不阻止他们,但它确实完全相反。

Casual piracy can be handled with what essentially comes down to gentle reminders - activation keys, time limits, etc. Deliberate piracy, on the other hand, essentially can't be prevented. As Sony, Apple, Microsoft, Nintendo, and a number of other companies will tell you, even when you have the benefit of control of the hardware as well as the software, your protection scheme will be broken. And the person breaking it is as likely to be doing it for the sake of a fun challenge as for the desire to get free software. So for a certain demographic, making the protection stronger doesn't discourage them, it does quite the opposite.

同时你做尝试和实现强有力的保障东西是推动合法用户了墙。也许是因为他们改变了时区与系统时钟检测徇私之旅得到了出征。或者他们不得不更换一个坏的硬盘驱动器或CPU什么的,掀起了系统的克隆机制。或者,也许微软改变导致,而你的应用程序在使用全靠它不是对你友好用来尝试和隐藏存储许可数据文件中的一些伎俩的Windows弹出UAC警告乱七八糟的方式的Windows的默认安全设置。在工作中我们使用商业解决方案,我们已经发现,他们的保护机制,可以在这方面,由于跳闸一个bug的软件,可能会导致被损坏的许可证数据,从而锁定用户出来的方案。由于路上的系统存储数据,其不可恢复的情况 - 客户字面上具有不使用计算机上的软件以后再和擦拭硬盘之间进行选择。是的,这是发生多次。是的,我们已经失去了很多潜在的收入超过它的。是的,我得到反胃,因为我们对口碑主要依靠认为它造成的损害的,它的产生一大堆的口碑很差的。长话短说,大概前几年可能已经花了我不少在加勒比海航行假期盗版天真的妄想症。

Meanwhile all the stuff you do to try and achieve strong protection is driving legitimate users up the wall. Maybe the trip for detecting gerrymandering with the system clock got set off because they changed time zones. Or maybe they had to replace a bad hard drive or CPU or something, and that set off the system cloning mechanism. Or maybe Microsoft changes Windows's default security settings in a way that causes Windows to pop a mess of UAC warnings while your app's in use thanks to it not being friendly to some trick you used to try and hide the file that stores the licensing data. At work we use a commercial solution, and we've discovered that their protection mechanism can trip in ways that, thanks to a bug in the software, can cause the license data to be corrupted, thus locking the user out of the program. Because of the way their system stores that data, its an unrecoverable situation - the customer literally has to choose between not using that software on that computer ever again, and wiping the hard drive. Yes, it's happened multiple times. Yes, we've lost a lot of potential revenue over it. Yes, I get queasy to think of the damage it's caused because we rely primarily on word of mouth and it's generated a whole lot of bad word of mouth. Long story short, the naive paranoia about piracy of earlier years has probably cost me quite a number of sailing vacations in the Caribbean.

和最糟糕的是,这只是为合法用户的一个问题。饼干可以很容易地 - 痛苦容易 - 解决它的帮助 - 如果涉及到最后的解决办法 - 一个调试器和反编译器。如果软件是拥有最终用户的设备上,你可能也开始思考,如果你的软件已经被破解。这是该有已建成周围人开裂他们合法拥有软件的想法山寨产业的地步,只是为了避免软件保护机制的烦恼。他们会给你钱,但他们还是会破解软件,因为您的版权保护就是这样刺激性,并且只是容易规避。另一种选择 - 这是我已经走的路线 - 是只去购买不同的软件,它是那么烦人,或使用免费的软件,而不是

And the worst of it is, it's only a problem for legitimate users. Crackers can easily - painfully easily - get around it with the aid of - if it comes to last resorts - a debugger and decompiler. If the software is on a device in the possession of the end user, you might as well start thinking as if your software's already been cracked. It's to the point that there's a cottage industry that has built up around the idea of people cracking software they legitimately own, just to avoid the annoyance of the software protection mechanisms. They'll give you the money, but they'll still crack the software because your copy protection is just that irritating, and just that easy to circumvent. The alternative - and this is the route I've gone - is to just go buy different software that's less annoying, or use free software instead.

因此,与最低去。 - 看时钟和时间了演示,因为你需要提醒你的用户发送支票。但不这样做的方式,让他们决定他们不想给你一张支票。如果你的目标是转换销售,认为这是最优雅的,高性价比,高效的系统,用于保持用户通过与系统时钟碴侵犯您的试用期:这是真的,真的很刺激与公司有一台电脑工作时钟设置错误的日期。而这仅仅是针对家庭用户。对于(合法)的企业,它甚至不是一种可行的选择。 ,谁不是由却步可能是一个脚本小子谁从来没有真正的手段来支付你摆在首位的软件。

So go with the minimum - watch the clock and time out the demo, because you do need to remind your users to send you a check. But don't do it in a way that makes them decide they don't want to give you a check. If your goal is to convert sales, consider this as the most elegant, cost-effective, and efficient system for keeping users from violating your demo period by mucking with the system clock: It's really, really irritating to work with a computer that's got the clock set to the wrong date. And that's just for home users. For (legitimate) businesses, it's not even a feasible option. And anyone who isn't deterred by that is probably a script kiddie who never really had the means to pay for your software in the first place.

这篇关于我如何强制执行审判的截止日期安装我的软件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆