我搜索了很多关于保护程序的最佳方法,我找到了很多结果,有两种好方法。 第一个是散列计算机的mac地址并将其与激活码链接,但它仍然容易受到攻击。 第二个是使用USB设备,但我没有找到任何细节,所以任何人都可以详细告诉我什么是最好的方法以及如何实现它。
答案 0 :(得分:0)
首先,你需要考虑你做什么并不重要,有人能够破解它,因此你需要考虑应用程序的安全性和难度之间的平衡您将为合法用户制作它(因为您不想惩罚已经为您的产品付费的用户,只是因为您想要保护您的应用程序免受那些不想付费的人的影响)。
考虑到这一点,您可以使用非对称加密来使用数字签名,您可以使用私钥将许可证“激活”,然后您的应用程序将使用其公钥来验证收到的许可证是否已提交由你。您还应该看看this discussion(我建议您关注第二个答案,而不是选定的答案)和this one。
但同样,你的目标应该是为坏人做点事情,但不要惩罚你的合法用户,因为对于攻击者来说,它可以像解编译你的程序一样简单,并删除你的逻辑来验证许可证(除非你正在创建一个“永远在线”的应用程序,但通常用户不喜欢这样,我说这是用户)。