- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的公司正在寻求开始分发我们开发的一些软件,并希望能够让人们在购买之前试用该软件。我们还希望确保它不会被复制并分发给我们客户的客户。
我们见过的一种模型是将许可证与 MAC 地址绑定(bind),因此该软件只能在一台计算机上运行。
我想知道的是,生成嵌入不同信息(例如许可证到期日期、MAC 地址和不同软件限制)的许可证 key 的好方法是什么?
最佳答案
我使用过 Macrovision(以前称为 Globetrotter)的 FLEXlm 和 Reprise Software 的较新 RLM(据我所知,由 FlexLM 的原作者编写)。两者都可以关闭 MAC 地址或物理加密狗,可以是节点锁定(仅绑定(bind)到一台机器)或“ float ”(网络上的任何授权机器都可以获得中央许可证服务器发放的许可证,同时 checkout 副本的最大数量取决于他们支付的金额)。有多种灵活的设置方式,包括到期日期、单独的分许可功能等。集成到应用程序中并不是很困难。这些只是我用过的两个,我确信还有其他的也能完成这项工作。
这些程序很容易被破解,这意味着存在已知的漏洞,可以让人们绕过使用它们的应用程序的安全性,或者通过削减自己的许可证来欺骗许可证服务器,或者仅仅通过修补您的二进制文件来绕过许可证检查(本质上用仅显示“返回'true'”的代码替换对其库的子例程调用。它比这更复杂,但这就是它主要归结为的内容。您会看到产品的破解版本发布到各种Warez 网站。这可能会非常令人沮丧和士气低落,尤其是因为他们经常为了破解而感兴趣,甚至对你的产品没有任何用处,也不知道如何使用它。(这是如果您有足够专业的程序,则显而易见。)因此,有些人会说你应该自己编写,甚至可能经常更改加密方案。但我不同意。确实,自行开发意味着针对 FLEXlm 或 RLM 的已知漏洞不会立即适用于您的应用程序。然而,除非你是这种安全性方面的专家(显然你不是,或者你不会问这个问题),否则在你缺乏经验的情况下,你很可能最终会编写出安全性更低、更容易破解的代码。计划优于市场领导者(尽管他们可能很弱)。
不推出自己的另一个原因很简单,这是一场无休止的猫捉老鼠的游戏。对于您的客户和销售人员来说,最好在许可证安全方面投入最少的精力,并花时间调试或添加功能。您需要认真对待许可计划,因为它只是“让诚实的人保持诚实”,而不是阻止坚决的破解。接受黑客无论如何也不会支付该软件费用的事实。
不是每个人都能采取这种禅宗态度。有些人知道有人在某个地方不劳而获,晚上睡不着觉。但试着学会处理它。您无法阻止盗版,但您可以平衡尝试阻止所有盗版的时间/精力/费用与让您的产品更好地为用户服务。请记住,有时盗版最多的应用程序也是最受欢迎和最有利可图的。祝你好运,睡个好觉。
关于licensing - 软件评估许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49662/
我正在设计一款支持签到的应用。 使用应用程序时的 GPS 权限是必须。但是有一个使用地理围栏自动 checkin 的可选功能,它需要“始终”gps 权限。 我想首先请求常规的“使用时”权限。然后,仅当
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 8 年前。 Improve
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
最近,我研究了使用 OnGuard 来帮助诚实的人遵守他们的原则。我同意这里许多人表达的观点,即任何许可制度都无法保护您免受那些想要使用您的软件但不想付费的人的侵害。另一方面,我希望避免让其他人太容易
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我试图在计算机上设置Windows Developer许可证,但失败。 我正在运行Visual Studio 2012。 当我单击“项目”->“商店”->“获取开发者许可证”时,它向我显示一个信息对话
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我想购买 Delphi Xe2 Pro。我独自一人使用它,我有 2 台电脑:一台在办公室,一台可移植用于“在路上”工作。Delphi Xe2 许可证不是很清楚,因此有什么办法可以为 2 台 PC 只购
我正在我的应用程序中安装 Android Licensing,我想知道什么是检查许可证的良好形式 - 每次或仅一次并保存它已被许可共享偏好的事实?我担心的是,如果用户处于离线状态,他们将被锁定在应用程
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
有人知道 WinRT 应用程序的许可是如何工作的吗? 我已向 Microsoft 申请了免费的开发人员许可证,这似乎与 temporarykey.pfx 或 appxmanifest 文件相关联。问题
我一直在网上搜索如何接受 Xcode,以便使用 Xcode 为 MAC 重新编译 MATLAB Windows 文件,但我没有找到任何相关的答案。 我在 MATLAB 中得到的错误消息是: Xcode
一些工作推到 QA,一些工作推到生产。 应该只允许开发人员推送到 QA,并且只允许 QA 推送到生产。除了制作两个单独的构建服务器(通过某种方式共享工件)之外,我如何限制权限? 最佳答案 您需要基于项
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
在 MacOS Catalina 上升级到 Xcode 11.1 后,运行一些命令(例如 git status)会导致 Xcode 声明必须同意许可。显然,我们可以运行 git status 和 gr
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
在 MacOS Catalina 上升级到 Xcode 11.1 后,运行一些命令(例如 git status)会导致 Xcode 声明必须同意许可。显然,我们可以运行 git status 和 gr
我正在构建一个小型 winforms 应用程序:ayende rhino licensing .许可工作正常,我可以创建许可并按我的选择分发它们。 问题是,如何让每个许可证只在一台机器上工作?我知道在
我是一名优秀的程序员,十分优秀!