java - 为什么不加密 Java 字节码而不是混淆它呢?

标签 java cryptography jvm obfuscation decompiling

看看一些组织为混淆 Java 字节码以避免其他人对其进行反编译并从代码中提取 secret 信息所做的努力,同时考虑到这种做法的局限性):

用非对称加密来面对这个问题不可行吗?我的意思是,Oracle 是否可以为 JVM 配备一个证书和一个能够使用该证书的私钥解密加密类文件的 ClassLoader?

当然,类会被使用这个“唯一的 oracle 证书”的公钥加密

私钥将在 JVM 中。

我想也许在 JVM 中保护这个私钥(依次加密......)在数学上是不可能的,而且它最终会被黑客攻击......是这样吗???

最佳答案

如果私钥在 JVM 中,黑客和破解者只需几分钟即可使用逆向工程获取该 key 。

此外,如果类加载器每次需要加载类时都必须使用非对称加密,那么它可能会非常慢。

关于java - 为什么不加密 Java 字节码而不是混淆它呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6507767/

相关文章:

java - 生命游戏,方法行不通

ruby-on-rails - 在 Rails 运行时提供参数

java - BigDecimal 值反序列化的问题

拖动手势 Activity 时未引发 JavaFX KeyEvent

python - 在 python 中返回多个值时的不同结果(Cryptopal 挑战)

garbage-collection - 垃圾收集+内存分页

java - 除了jmap之外,还有命令行方法来获取jvm堆转储吗?

设置 Xms Xmx 时,Java Heap Space 不会增加,

java - hibernate 刷新?

java - 如何在android中的文本加密/解密中正确地将String转换为byte[]? (错误 - WRONG_FINAL_BLOCK_LENGTH 和 IllegalBlockSizeException)