我有一个jnlp应用程序,可以在用户计算机上加载并执行jar文件(客户端)。用户使用此jar与提供服务的服务器通信。我见过用户使用javassit和javasnoop来更改客户端的功能。有什么方法可以远程检测由前面提到的实用程序创建的更改?例如,我可以在本地对类进行校验和并将结果发送到服务器(谁知道每个类的正确校验和)?
最佳答案
通常没有办法阻止客户端运行他们希望运行的任何代码。系统的安全性永远不要依赖于假设客户端正在运行特定代码或不知道您发送给它们的jar中包含的特定信息。
此外,强加DRM的尝试往往会给合法用户造成问题,并疏远您的客户,却几乎没有采取任何措施来阻止真正想入侵系统的人。