我已经实现了一个自定义类加载器来保护我的应用程序
但是当我加载一个加密的类java抛出 IllegalAccessError 但我确信解密是准确的,因为我已经把解密的类文件 在某些地方并将其与原始类文件进行比较。
根据关于IllegalAccessError的java文档
“通常情况下,编译器会捕获此错误;如果类的定义不兼容已更改,则此错误只能在运行时发生。”
如何兼容定义我的解密类?
答案 0 :(得分:0)
此错误几乎肯定表明您的加密/解密过程正在破坏原始类文件。我建议进行非常仔细的往返测试过程。获取非常大的类集合,然后通过加密和解密运行,以及(a)与原始类比较,以及(b)尝试使用标准类加载器加载它们。我预测你会得到失败并且他们会解释你的问题。
在将字节传递给JVM之前,你的问题也可能非常特定于你的类加载器在解密之后所做的事情,在这种情况下你只需要调试它,但我先测试第一种可能性