未经所有者许可,阻止应用程序被复制和使用的最佳方法是什么?
避免应用程序在所有者不知情的情况下被复制和使用的最佳方法是什么?
有什么办法可以追踪使用情况吗? 这意味着应用程序会定期返回信息,并提供足够的信息,以便我们知道它在哪里以及是否合法。 当然,如果它不合法,下一步就是将其关闭。
What is the best way to avoid that an application is copied and used without the owner’s knowing?
Is there any way to trace the usage? Meaning periodically the application communicates back, with enough information so that we can know where it is, and if it’s legal. Next thing, of course, shut it down, if it’s not legit.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
“打电话回家”的软件将很快被绝大多数用户避开。 只需适当许可并出售即可。
专业使用你的软件的人要么付费,要么不会使用它。 公司往往对潜在的诉讼不屑一顾。
那些想在不付费的情况下使用您的软件的人将继续这样做,尽管您尽了最大努力来阻止他们。 一旦软件落入他们手中,它就不再属于你了。 在不激怒用户的情况下,您唯一的求助途径就是合法途径。
如果你的产品定价合理,有些人会付钱,有些人则不会。 这只是您需要预先处理的事情,并且应该将其纳入您的商业计划中。
Software that "phones home" will be quickly shunned by the vast majority of your users. Just license it appropriately and sell it.
People who use your software professionally will either pay for it or they won't use it. Corporations tend to frown on potential lawsuits.
People who want to use your software without paying for it will continue to do so despite your best efforts to counteract them. Once the software is in their hands, it is out of yours. Without pissing off your users, your only recourse is a legal one.
If your product is priced reasonably, some people will pay for it and some won't. That is just something you need to deal with upfront and it should be factored into your business plan.
不要这样做,不要尝试,甚至想都别想。
这是一场你无法获胜的战斗。 如果人们想盗版您的软件,他们就会这么做。 聪明的逆向工程师可以编写单字节二进制补丁来破坏您的所有保护方案,这一事实会让您感到羞愧。
想要盗版您的软件的人将会这样做,而您内置的所有这些“安全功能”最终可能只会给您真正的支持者:合法购买您的软件的人带来不便。 这些严厉的 DRM/反盗版方案只会在软件用户中引起怨恨。
Don't do this, don't attempt it, don't even think about it.
This is a battle you can't win. If people want to pirate your software they will. You'll be shamed by the fact that a smart reverse engineer can write a one byte binary patch to subvert all your protection schemes.
The people who are going to pirate your software will do so and all these "security features" you build in will likely end up only inconveniencing your true supporters: the people who have legitimately purchased your software. These draconian DRM / anti-piracy schemes only build resentment among software users.
如果您真的担心盗版(我认为),硬件加密狗是最好的方法。 看看价值数千或数万的大型工业CAD/CAM软件包,或AV/音乐制作软件,它们几乎都有加密狗保护。 加密狗可以被仿真或逆转,但需要投入大量的时间,这不仅仅是将装配中的一些 JE 更改为 JNE。
给家里打电话不是正确的选择,除非您提供的服务需要订阅和不断更新(例如防病毒产品),作为您业务模式的一部分。 您需要对您的用户及其隐私有一点尊重。 你可能有完全无辜的意图,但如果法院命令你的公司交出这些信息(就像美国政府对谷歌及其搜索词所做的那样),你会/能反抗吗? 如果您在未来的某个时候出售了您的公司,而新所有者决定将所有历史信息出售给营销公司,该怎么办? 隐私不仅仅是信任一家公司不会滥用您的数据,而是信任该公司会竭尽全力保护您的数据。 对于大多数公司来说,这远远落后于优先事项清单。 所以基本上,监控用户并不是一条好的路。
Hardware dongles are the best way if you are really concerned about piracy IMO. Check out the big industrial CAD/CAM packages worth thousands or tens-of-thousands, or the AV/Music production software, they virtually all have dongle protection. Dongles can be emulated or reversed but not without a significant investment in time, a lot more than just changing a few JEs to JNEs in your assembly.
Phoning home is not the way to go unless you are providing a service that requires a subscription and constant updates (like antivirus products, for example) as part of your business model. You need to have a bit of respect for your users and their privacy. You might have perfectly innocent intentions but what if a court ordered your company to hand over that information (like the US government is doing with Google and its search terms) - would/could you fight it? What if you some time in the future sold your company and the new owners decided to sell all that historic information to a marketing company? Privacy is not just about trusting a company not to abuse your data, it is trusting that company to go out of their way to protect your data. Which is pretty far down the list of priorities for most companies. So basically, the monitoring users thing is not really a good path to go down.
可靠地防止盗版的最佳(也是几乎唯一)方法是使用客户端/服务器应用程序而不是独立的应用程序,其中工作的重要部分由服务器完成,用户需要注册。 那么您至少可以检测并阻止同一帐户的同时使用。
The best (and pretty much only) way to reliably prevent piracy is to have a client/server application instead of a standalone one, where a non-trivial part of the work is done by the server and users need to register. Then you can at least detect and block simultaneous use of the same account.
您可以采取多种方法,但其中三种方法比其他方法更有效。
答:不要创建它。
不存在的软件永远不会遭受未经授权的使用。
B. 不要释放它。
如果您拥有唯一的副本,并且以这种方式保存它,那么就很有可能不会出现未经授权的使用。
C. 授予每个人使用它的权限。
如果你不想让任何人在未经许可的情况下使用它,那么你可以给每个人权限,这样就不会出现未经授权的用户。
There are several approaches you could take, but there are three that will be vastly more effective that any of the others.
A. Don't create it.
Software that doesn't exist never suffers from unauthorized use.
B. Don't release it.
If you have the only copy, and you keep it that way, then the chances are exceedingly good that there will be no unauthorized use.
C. Give everyone permission to use it.
If you don't want anyone to use it without permission, then you can give everyone permission and there will be no unauthorized users.
有可能追踪使用情况。 您可以通过让您的工具打电话回家并发送您需要的信息来实现此目的。 问题是,首先没有人喜欢为此目的打电话回家的软件,其次使用简单的应用程序级网关,您可以阻止应用程序打电话回家! 您在问题中描述的是软件分销商的常见问题,并且不容易解决!
There is a possibility to trace the usage. You can accomplish this by letting phone your tool home and send the information you need. The problem with this is, that first nobody likes software that phones home for this purpose and second with a simple application-level gateway you can block the application to phone home! What you describe in your question is a common problem of software-distributors and it's not an easy one to solve!
还有一件事我还没有看到提到:您可以将大量设置添加到应用程序的配置文件中,并从可笑的默认值开始。 然后进行安装& 个人配置,因此除了您之外没有人能够弄清楚应该如何设置所有内容。 对于那些只是尝试一下是否足够的人来说,这可能是市长的贬低。 (请务必添加依赖于各种系统设置的设置,例如应加载的操作系统版本相关的 DLL 版本等)。 虽然不太人性化;-)
There's another thing I haven't seen mentioned yet : You could add loads of settings to the applications' configuration file, and start with ridiculous defaults. Then do the installation & configuration personally, so no-one but you is able to figure out how everything should be set. This can be a mayor put-down for people that are just trying out if a copy is enough. (Be sure to add settings that depend on all sorts of system-settings, like OS-version related DLL-versions that should be loaded, etc). Not very user-friendly tho ;-)