2010-02-23 3 views
1

i ont mis en place un chargeur de classe personnalisée pour sécuriser mon applicationclassloader personnalisée erreur d'accès illégal

mais quand je charge une classe Java cryptée lance IllegalAccessError mais je suis sûr que le décryptage se fait accuratly parce que j'ai mis le fichier de classe déchiffré dans certains où et comparé avec le fichier de classe d'origine.

selon documentation java sur IllegalAccessError

« Normalement, cette erreur est attrapée par le compilateur, cette erreur ne peut se produire au moment de l'exécution si a de façon incompatible a changé la définition d'une classe. »

comment puis-je définir ma classe déchiffrée de manière compatible?

Répondre

0

Cette erreur indique presque certainement que votre processus de chiffrement/déchiffrement corrompt les fichiers de classe d'origine. Je suggère un processus d'essai aller-retour très prudent. Prenez une très grande collection de classes, exécutez ensuite le chiffrement et le décryptage, et (a) comparez avec l'original et (b) essayez de les charger avec le chargeur de classe standard. Je prédis que vous obtiendrez des échecs et qu'ils expliqueront votre problème.

Il est également possible que votre problème soit très spécifique à ce que fait le classeur après déchiffrement avant de passer les octets à la JVM, auquel cas il vous suffira de le déboguer, mais je testerais la première possibilité premier.