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

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

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

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


当前回答

我想补充一点,不为你的软件付费就像不交税一样。你可能在进步,但你是在欺骗你周围的人。

其他回答

Make your software contact a central server while it is being used. Roll patches/etc through the server connection. Also, make 1 or 2 main features that occasionally contact the server to do the processing. Require a valid account that auto-logs in in order for the main features to work. Make the valid accounts pay a small fee like 1-2 dollars a month. Ask them to put a credit card on file and roll the charges into 6-month billing increments or something so you don't just waste a bunch on CC fees.

同时,保持一个容易找到的,低成本的软件版本。人们每个月花1美元就可以使用5次。随着使用量的增加而增加费用。让人们找到并安装免费版本比找到并安装破解/黑客版本更便宜、更容易。

D你的软件一定很好,如果它值得称赞的话;)

但对于你的问题:你可以随时联系网络管理员来删除它,但这是一项艰巨而永无止境的工作。

你可以走法律途径,但由于这是一个民事问题,它可能不值得付出努力和金钱,几乎没有成功的机会。

让你的软件不容易被破解是一件好事,但这只是在一定程度上可能的。一件好事是,如果涉及到客户端,您可以只在软件id正确或其他情况下让客户端连接。

另一个建议是定期包括更新和一些API或一些只能在与服务器通信和合法获得的许可下工作的功能。

然后软件就可以被破解了,但是合法的客户要领先一步,并从更好的工作版本、更新等中受益

你能做的不多。您可以使用调用home的激活方案。每次购买都有一个唯一的序列号,在你的数据库中。如果keygen创建的#不是您的数据库,则它不是真实的。如果太多用户(不同的ip地址)使用相同的串行#,则串行#已经泄漏,激活将禁用安装。

但是,如果它是一个被破坏的版本,其中call home例程已被禁用,那么您就不走运了。

不断添加新的功能,这样拥有旧版本的用户就会被鼓励去购买它。确保执行“查找更新”功能,这样他们就能得到提示。

还要考虑价格。我不知道你们的软件是什么,但每种产品都有多个市场。例如,Photoshop有一个普通版本,它有点超出了任何人想要修饰他们的假期照片的成本范围。出于这个原因,他们制造元素,虽然没有那么多,但确实服务于市场。如果你的软件价格昂贵,而且个人用途有限,可以尝试发布一个家庭版。试用版,广告支持版。

你不要试图检测被黑的版本。这种类型的DRM只会惹恼真正的用户

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

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

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

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