我有一个独立的Java应用程序,它有一些我想要保护的许可代码,即阻止用户更改我的软件以规避许可.做这个的最好方式是什么?
我看过混淆,但这需要各种各样的问题:反射,序列化,混乱的堆栈跟踪等.也许jar签名可能是一个解决方案?但是如何在运行时验证jar?如何确保用户不更改jar验证码?
很抱歉,如果您的用户足够羞辱您的类文件,他们将首先删除签名检查功能.我同意混淆,但是不应该让一个好的混淆器保留一些字典来为你转换一个混淆的堆栈跟踪?
这个讨论真的很古老,真的很复杂.看看游戏行业吧.也许你应该考虑用你的应用程序发一把吉他?
结合这两者,你应该有很好的协同作用.