2010-02-23 60 views
1

我實現了自定義類加載器來保護我的應用程序定製ClassLoader非法訪問錯誤

但是當我加載加密類java的拋出 IllegalAccessError 但我肯定,因爲我已經把解密類文件解密accuratly完成 在某些地方,並將其與原始類文件進行比較。

根據關於IllegalAccessError

java的單證

「通常,這錯誤是由編譯器捕獲;如果一個類的定義具有不相容改變只能出現在運行時該錯誤。」

我怎樣才能兼容地定義我的解密類?

回答

0

這個錯誤幾乎可以肯定地表明你的加密/解密過程正在破壞原始的類文件。我建議一個非常小心的往返測試過程。取一大堆類,然後通過加密和解密來運行,(a)與原始文件進行比較,(b)嘗試使用標準類加載器加載它們。我預測你會得到失敗,並說明你的問題。

也可能你的問題是非常具體的,你的類加載器在解密之前將字節交給JVM,在這種情況下,你只需要調試它,但我會測試第一種可能性第一。