所以,经过6个月的努力,我终于发布了我的申请。今天我发现第一个下载它的网站被破解了,我想知道你们程序员同事中是否有人知道如何应对这种东西?

有什么软件作者可以做什么来让破解的版本离线,或者我只是骨头,不应该再创建任何软件,而只是在客户的项目上工作?你有什么建议?有人有这方面的经验吗?

编辑:编程是我所做的——所以是否继续没有问题,只是客户为每个项目支付真金,我仍然不知道独立开发是否至少会为所投入的时间付出代价,现在有了破解的下载,我试图评估该做什么,以及是否有办法做出反应

帖子讨论:当我看到这个问题引起了多大的兴趣时,我想说,即使不是纯粹的编程主题,社区也需要说出他们的想法。我想说,对于任何对这个主题感兴趣的程序员来说,这个页面都是一个非常好的读物。


当前回答

我会不断更新软件。确定一定有一些bug需要修复,并添加客户要求的新功能?当用户拥有盗版版本并对其感到满意时,他们会发现当前版本拥有更多功能,这可能会促使他们购买最新版本。

添加新功能不仅能让现有客户满意,还能吸引新客户。

其他回答

你从未告诉我们破解的版本是否来自演示版本-但你应该直接从你的构建中识别这一点。

我的做法是在构建过程中在几个地方使用ID常数来识别客户。这样我就能找到泄露的源头,只需要下载被破解的那个。

演示版本很容易被破解(但你也应该识别它们——一个ID用于tucows,另一个用于major,等等)。我没有一个简单的方法,除非你能一直考虑在线使用。

问候 拉斐尔

如果你想设置一个加密方案和一个网络认证,你可以阻止黑客。

我认为Steam可能是当今最著名的例子。

这取决于你的应用程序有多商业化——游戏盗版是非常严重的。我不认为技术商业应用会被大量盗版,当然它不像游戏或photoshop那样具有“吸引力”。

今年春天有一个臭名昭著的例子,一些“休闲游戏”开发商在他们的游戏中提供“自己定价”的促销活动。人们可以花1美分买一款游戏,但数据显示,软件被盗的数量至少比支付的数量多1/4。http://blog.wolfire.com/2010/05/Saving-a-penny----pirating-the-Humble-Indie-Bundle

如果有人认为你的产品足够好,值得他们花时间去破解,那么你一定做对了什么。记住,世界上诚实的人比不诚实的人多,无论你做什么,你都不会让不诚实的人买你的产品。所以要专注于让你诚实的客户满意。

你无法阻止盗版……想要你的软件(但无意购买)的人永远不会购买它,总是试图找到免费获得它的方法……

相反,专注于生产人们想要购买的高质量产品。不要专注于生产一款(试图)阻止盗版的产品……这样做只会分散你生产高质量产品的注意力,只会激怒你的付费客户(DRM吗?)

想想看……花x个小时在一个很酷的新功能上,或者花同样多的时间来阻止潜在的盗版者入侵你的软件。我相信购买你的软件的人会非常欣赏这些酷炫的新功能,而不是让软件在一天中的任何时候都“更少”被黑客攻击……

想要移除被破解的版本就像猫捉老鼠的游戏,水下拳击,死马殴打,在流沙中游泳。你可能想尝试使用像Crack Tracker这样的工具,但这仍然是一个非常无用的斗争,恕我直言。

你唯一能指望的是“让诚实的人保持诚实”,并说服一些几乎诚实的人试着诚实一点。无论你想出什么疯狂的保护方案,最终你的保护都会被取消……特别是如果它很有趣的话。黑客们做了一些疯狂的事情,比如在硬件加密狗中实现的RE'd程序功能,并将它们重新添加到软件中…

正如Dana提到的,部分密钥验证是一个非常有趣的想法。再加上“好吧,我放弃”之类的信息(包括一个到你的订单页面的链接,可能还有折扣)可能会产生奇迹……但这一切都取决于你的应用有多专业,以及你的市场是什么样的。

不要认为你可以让“我永远不会付钱”的盗版者付钱,也不要给你的合法客户带来太多不便。