Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

5年前关闭。



Improve this question




我正在寻找C++和开源库来保护商业软件再次破解等...

你认识一个吗?

最佳答案

我喜欢在以下几种情况下使用这句话:“用技术解决方案无法解决社会问题”。如果某人有足够的动力去做您不喜欢的事情,就无法阻止他们。您越难做某事,他们越会努力越过障碍。最后,唯一的方法就是减少他们的动力,这需要社会的解决方案。

要有效地防止软件被破解,那就是一款难以捉摸的猫捉老鼠游戏。随着每一项进步,您都可以保护您的程序,有人会弄清楚它并加以解决。毕竟,您的程序确实必须在计算机上运行,​​并且如果计算机能够理解其运行状况,那么在足够的时间下,一个有足够动力的人就可以做到。

我并不是说防裂没有用。如果您足够努力,那么破解者将花费很长时间来颠覆您的软件,以至于一旦破解,该版本就已经过时,以至于毫无用处。但是,正确地做到这一点非常困难,不幸的是,没有简单的创可贴解决方案可供外行人士随身听。像Tom said一样,任何“只要坚持下去”的防裂方法都可以很容易地“立即被剪掉”。您的程序需要从一开始就进行设计,以采用防裂方法。

如果您要问这个问题,无意侮辱您,那么很明显您对软件保护不了解,无法对其进行设计或有效使用,并且显然您没有为军备竞赛做好准备需要保持真正强大的软件保护。

无论您写什么内容,很可能都不值得将其锁定在一个极端的水平上。采取简单的方法。您的目标应该是让诚实的人诚实。只需编写一个简单而又古老的简单验证例程,以检查用户的 key (与用户的名称,地址和其他信息结合使用)是否通过了一些校验和。对于您出售的每个拷贝,获取用户的信息,生成 key 并将其提供给他们。更改每个版本的校验和,以使用户无法使用旧 key 。如果需要,可以将其与Internet上的某种类型的定期“电话回家”系统结合使用,在该系统中发布泄漏(并因此被撤销)的 key 列表。

请记住,电话家庭系统往往会激怒您的老实客户,而要烧掉一个拥有不好复制保护的好客户(这种交易您再也不会得到)远比阻止非客户获得一份复制权要差得多。您的程序(无论如何您都不会获得销售)。

当然, cookies 可以绕开它,但 cookies 不是您的客户。您不能阻止他们或改变他们的动机。最后,他们将要做自己想做的事情。

确保不良客户可以提供其 key ,或将其用于许可条款(例如在太多计算机上运行)。 key 可能会被偷走或被盗,坏人可能会使用它,或者他们可能使用破解版。您无法阻止这些事情的发生,但是您确实拥有法律制度(一种社会解决方案)来应对。

重要的是,您要避免花费过多的精力来锁定产品,也不要使产品对您的合法客户过于苛刻。毕竟,您是为那些客户而不是为 cookies 用户编写软件的。惹恼客户,让 cookies 变得更困难一点是不值得的。

关于C++ API : license management to protect a software,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8294475/

10-10 16:35