我正在编写一个用户需要购买许可证并激活它的软件应用程序。我需要关于如何开始编写强大的代码生成算法的建议,当然还有代码检查。我知道人们可以对代码进行逆向工程并制作密钥生成器,但是,我的问题是两个部分:
一般来说,不管应用程序以这种方式被破解,我怎样才能开始编写一个算法来接受某个 Serial 或 String 或组合。(例如,这是正确的吗?例如:第一个数字是 3-9 第二个应该是第一个 - 3,而第三个数字应该是第二个 * + ....whatever...??)
在不处理互联网的情况下保护桌面应用程序免受盗版的最佳方法是什么?是算法(使逆向工程更难),在应用程序安装到某处后保护源代码不被看到?...??
PS:也许值得一提的是,我使用 Java 作为我的开发语言。谢谢