如何保护我的程序?

时间:2009-10-25 18:56:46

标签: drm copy-protection

假设我设计了非常重要的系统,这个系统花费了数千美元。我想用序列号保护我的系统,因为我知道破解者会尝试编辑二进制代码以绕过序列号。

我已经读过关于使用校验和函数并将其应用于我的二进制代码并检查值是否已更改,但我们再次讨论了一个破解者可以通过编辑代码来避免的情况。

我的问题是:保护重要程序最常用的技术是什么?

4 个答案:

答案 0 :(得分:2)

我还没有看到一个“受保护”的数字产品,它在发布后很快就没有被破解(或者在某些情况下出版之前)。对不起,但这是现实。你必须通过制作一个好产品来获得收入。大多数想要使用它并且能够负担得起的人都会付钱。

会有一些笨蛋,但这就是生活。你最好对你的软件的合法用户表示友好,不要用怪异的复制保护尝试来欺负它们。无论如何,这些尝试都不起作用。

答案 1 :(得分:0)

最常用的技术是序列号。但是您的客户可以访问代码,因此无论您将多少工作混淆,他们都可以绕过您的序列号检查。

但是,如果您可以将您的软件作为基于订阅或一次性付款的Web应用程序提供,那么人们将无法执行此操作。这是否可行取决于您正在编写的应用程序类型。

答案 2 :(得分:0)

如果您的应用程序正在脱机工作,无论您做什么检查(检查总和,序列代码有效性等),请在软件的许多例程中经常执行这些操作,重复验证代码。对代码进行模糊处理,使逆向工程成为一项更加困难的任务,并且,如果您有可能,实施在线检查,应用程序的核心功能部分驻留在您的服务器上,并仅为您检查过的那些安装提供服务服务器端有效的许可证密钥。将许可证密钥与运行应用程序的硬件的某种形式的唯一标识符相关联,如果您在线检查,请提供有关发出验证请求的IP的统计信息:如果您遇到更多IP以尝试验证相同的许可证密钥,请联系买方并批准他们通常登录的IP列表,同时将其他任何其他IP列入黑名单,直到通过邮件或电话向他们提出具体请求。

答案 3 :(得分:0)

我总是建议在应用任何类型的商业保护程序(如Packer)之前构建自定义软件保护。 在任何情况下,只是串行验证和校验和检查不会阻止破解者。 我建议你访问我的新博客www.anti-reversing.com并快速浏览一下反盗版技巧&欺骗页面只是为了了解我在说什么。