C ++ API:许可证管理,以保护软件 [英] C++ API : license management to protect a software

查看:189
本文介绍了C ++ API:许可证管理,以保护软件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找一个C ++和开源库重新保护商业软件破解等..

I'm searching for a C++ and open source library to protect a commercial software again crack etc...

你知道吗?

推荐答案

我一语我喜欢使用这些类型的情况:你解决不了技术解决方案的社会问题。如果有人有足够的动机做一些你不喜欢,你不能阻止他们。你让它做一些事情越努力,就越难他们会尽量避开你的障碍。最后,唯一的办法就是削弱他们的动机,以及需要社会解决方案。

I have a phrase I like to use for these types of situations: "You can't solve a social problem with a technological solution". If someone is sufficiently motivated to do something you don't like, you can't stop them. The harder you make it to do something, the harder they'll try to get around your barrier. In the end, the only way is to diminish their motivation, and that needs a social solution.

有效preventing软件被破解是一个令人难以置信的硬盘猫捉老鼠的游戏。有了你可以保护你的程序中的每个进步,有人要弄清楚,并围绕它得到。毕竟,你的程序确实有一台计算机上运行,​​如果计算机能够理解它在做什么,有足够的时间,足够动机的人可以做到这一点。

Effectively preventing software from being cracked is an incredibly hard cat and mouse game. With every advancement you can make protecting your program, someone is going to figure it out and get around it. After all, your program does have to run on a computer, and if the computer can understand what it's doing, given enough time, a sufficiently motivated person can do it.

我并不是说,裂纹保护是没有用的。如果你把它够硬,这将需要破解这么长时间颠覆你的软件,一旦他们这样做,该版本是如此的过时,它是无用的。但是,这样做的权利是非常困难的,可惜没有简单的创可贴解决方案,外行的人也可能只是一巴掌。如汤姆说,任何只是坚持在破解打样的方法可以很容易地被剪断右出 。你的程序需要从一开始就设计为具有防开裂的做法。

I'm not saying that crack-protecting isn't useful. If you make it hard enough, it will take crackers so long to subvert your software that once they do, that version's so out of date that it's useless. But doing this right is very difficult, and unfortunately there are no simple band-aid solutions that a lay-person can just slap on. Like Tom said, any "just stick it in" method of crack proofing can be just as easily be "snipped right out". Your program needs to be designed from the start to have an anti-cracking approach.

使用无意侮辱你,如果你问这个问题,那么它显然,你不知道有足够的了解软件保护它在设计或有效地使用它,你显然不是prepared的军备竞赛,你需要在软件以确保真正有力的保护。

With no intention to insult you, if you're asking this question, then its clear that you don't know enough about software protection to design it in or to use it effectively, and you clearly aren't prepared for the arms race you need to be in to keep your software really powerfully protected.

最有可能不管你写的是不值得锁定下来到了极致水平的努力。就拿简单的方法。你的目标应该是保持诚实的人诚实。只要写一个普通的老,简单的验证程序来检查,如果用户的按键,当用户的姓名,地址和其他信息相结合,经过一定的校验。对于每一个副本你卖,把用户的信息,生成密钥,并给了他们。每个版本更改校验,因此用户不能使用旧密钥。如果必须,再加上在互联网上某种类型的周期性手机之家制度,其中,泄露(因此撤销)密钥列表公布。

Most likely whatever you're writing isn't worth the effort of locking it down to an extreme level. Take the simple approach. Your goal should be to keep honest people honest. Just write a plain old, simple verification routine to check if the user's key, when combined with the user's name, address, and other info, passes some checksum. For every copy you sell, take the user's info, generate the key and give that to them. Change the checksum with each version so users can't use old keys. If you must, combine that with some type of periodic "phone home" system over the internet, where a list of leaked (and thus rescinded) keys is published.

请即打电话回家系统往往激怒你的真实客户,这是差远了,以良好的客户烧坏的复制保护(销售,你将永远不会再得到)比保持非客户从得到你的程序(你不会得到反正销售)的一个副本。

Keep in mind that phone home systems tend to piss off your honest customers, and it's far worse to burn a good customer with bad copy protection (a sale you'll never get again) than to keep a non-customer from getting a copy of your program (a sale you wouldn't have gotten anyway).

黑客可以绕过它,但饼干是不是你的客户。你不能停止或更改它们的动机。最终,他们会做他们要做什么。

Sure a cracker can get around it, but crackers aren't your customers. You can't stop them or change their motivations. In the end, they're going to do what they're going to do.

当然坏的顾客可以给他们的密钥,或者用它对付你的许可条款(如上运行它太多的计算机)。一键可以韭菜,或被盗,而一个坏的人可以使用它,或者也可以使用破解版。你不能prevent这些事情的发生,但你有法律制度(社会解决方案)来处理它时,它的作用。

Sure a bad customer could give out their key, or use it against the terms of your license (like run it on too many computers). A key could leek out or be stolen, and a bad person could use it, or they could use a cracked version. You can't prevent those things from happening, but you do have the legal system (a social solution) to deal with it when it does.

重要的是,你避免花费在锁定下来的东西太多精力,而且你避免的事情太多严厉您的合法客户。毕竟,你写的软件为您的客户,而不是饼干。得罪了客户,使事情只是有点困难的饼干永远值得的。

The important thing is that you avoid spending too much effort on locking things down and that you avoid making things too draconian for your legitimate customers. After all, you write software for your those customers, not for the crackers. Pissing off your customers to make thing just a little harder for the crackers is never worth it.

这篇关于C ++ API:许可证管理,以保护软件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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