首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要关于设计“防破解”软件的建议

需要关于设计“防破解”软件的建议
EN

Stack Overflow用户
提问于 2010-03-05 09:15:11
回答 7查看 3.3K关注 0票数 7

我目前正在做一个项目,在这个项目中,我需要创建一些架构、框架或任何标准,通过它们我可以“至少”增加软件的破解方法,即增加软件的安全性。已经有不同的方法来激活一个软件,包括在线激活,密钥等。我目前也在研究一些研究论文。但我仍然有很多事情想要讨论。

有人能带我去一些像样的论坛,邮件列表或类似的东西吗?或者其他任何帮助都将不胜感激。

EN

回答 7

Stack Overflow用户

发布于 2010-03-05 10:25:40

我将告诉你最接近“防破解”的东西: web应用程序。

由于许多其他原因,桌面应用程序注定要失败,但让您的应用程序在浏览器中“在云中”运行,可以让您更好地控制安全性。

桌面软件在客户端的计算机上运行,因此客户端拥有对它的完全访问权限。web应用程序在您的服务器上运行,因此客户端只能看到其中的一小部分。

票数 14
EN

Stack Overflow用户

发布于 2010-03-06 00:21:24

你需要从渗透到当地的黑客团伙开始,伪装成一个11岁的孩子,想要“破解它”。一旦你赢得了他们的信任,你就可以了解他们认为最难破解的功能。当你秘密地将“不可破解”的软件发布到本地留言板时,你可以看到他们用它做了什么。建立在你的内在知识之上,直到他们不再能破解你的软件。完成后,让你的身份被知道。理想情况下,这会被视为一种背弃的信号,即你在与他们对抗。希望这将导致他们联系本地社区以外的其他黑客攻击您的软件。

继续,直到你到达黑客黑手党的顶端。把你的论文写成书,卖给HBO。

票数 9
EN

Stack Overflow用户

发布于 2010-03-05 09:51:08

当你的产品被破解时,这不是一个成功的标志吗?:)

不过,说真的,一种方法是使用许可证对象,这些对象被序列化为XML,然后使用公钥/私钥对进行加密。然后在运行时读回它们,反序列化并处理它们,以确保它们是有效的。

但是仍然有一个无处不在的"IsValid()“方法,它可以被破解成总是返回true。

您甚至可以将该方法放入带签名的程序集中以防止篡改,但是您所做的就是创建了另一层"IsValid()“,该层也可以被破解。

我们使用许可证打开或关闭软件中的各种功能,并验证支持/升级期限。但这只适用于我们的合法客户。任何想绕过它的人可能都可以。

我们相信我们的合法客户不会试图绕过许可,我们接受我们的非法客户会找到方法。

我们会浪费更多的钱,试图改善我们的解决方案的‘防篡改’性质,我们松散给盗版软件的人。

此外,你必须考虑到合法客户的痛苦,要求他们从他们的在线账户页面粘贴许可证字符串,这是我想让他们经历的最痛苦的事情。为什么要为潜在客户设置额外的进入门槛?

无论如何,根据你已经准备好的解决方案,我上面的描述可能会给你一些想法,这些想法可能会降低某人破解你的产品的可能性。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2383921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档