如何锁定已编译的 Java 类以防止反编译?
我知道这在网上一定是个很好的讨论话题,但是我参考了他们之后却没有得出任何结论。
许多人确实建议使用模糊处理器,但是他们只是使用难以记住的字符序列来重命名类、方法和字段,但是如果使用敏感的常量值呢?
例如,您已经基于基于密码的加密技术开发了加密和解密组件。现在在这种情况下,任何一个普通的 Java 用户都可以使用 JAD来反编译类文件,并且可以轻松地检索密码值(定义为常量)和 盐,然后可以通过编写小型独立程序来解密数据!
还是应该用本地代码(例如 VC + +)构建这些敏感组件,并通过 JNI调用它们?