可以使用校验和来防止盗版吗?

时间:2011-05-06 07:23:43

标签: security md5 checksum protection piracy

可以使用文件的校验和以某种方式阻止(阻碍)盗版吗?也许我可以计算我的最终exe的校验和,然后随机间隔,让exe检查自己的校验和,以确保它没有被篡改?

编辑:

我想我原来的问题有点天真。这里有一个与饼干的访谈链接: http://successfulsoftware.net/2011/04/07/interview-with-a-cracker/

” 软件开发人员与安全相关的最常见错误是什么?

没有特别的顺序:

不对补丁进行完整性检查。 “

那么我该如何实施破解者的建议?

2 个答案:

答案 0 :(得分:2)

对产品进行校验并不会阻止盗版,它只是表明正在校验的项目可能已经更改。它不会阻止人们将您的应用程序复制到新计算机上。这意味着您必须使用其他方法将产品绑定到计算机或用户。

计算产品的校验和也很困难,然后以某种方式将其插入到产品中,以便产品可以自行检查,并且该操作实际上会更改应用程序,这也将更改校验和....如果你明白我的意思。

答案 1 :(得分:2)

通常,破解者会修改您的可执行文件以删除您的安全检查(例如,检查它们是否具有有效的许可证密钥)。如果您的产品在Windows上并经过数字签名,则可以使用WinVerifyTrust()检查它是否已被篡改,然后拒绝运行。当然,破解者可以删除你对WinVerifyTrust()的调用,但这会让他的工作变得更难。

让饼干更难:

  • 使用预处理器/内联来确保无法通过更改单个函数来删除检查
  • 在退出之前执行longjmp,转到或传递事件循环,这使查找检查更加困难
  • 使用随机数只能使每张支票间歇运行,然后他们无法确定是否已删除所有支票

请注意,不值得过多关注安全性。您可以更好地花时间让您的产品,营销和支持变得非常棒。更安全的产品对于破解者来说更是一个挑战。如果Adobe无法阻止人们破解Photoshop,你有什么机会?只要做足以确保它不太容易。