Пользовательский загрузчик классов Ошибка незаконного доступа - PullRequest
1 голос
/ 23 февраля 2010

Я реализовал загрузчик пользовательских классов для защиты моего приложения

но когда я загружаю зашифрованный класс, бросает Java IllegalAccessError но я уверен, что расшифровка сделана точно, потому что я положил расшифрованный файл класса где-то и сравнил его с исходным файлом класса.

согласно документации Java о IllegalAccessError

"Обычно эта ошибка отлавливается компилятором; эта ошибка может возникнуть только во время выполнения, если в определении класса несовместимо изменилось."

как я могу совместимо определить мой расшифрованный класс?

1 Ответ

0 голосов
/ 23 февраля 2010

Эта ошибка почти наверняка указывает на то, что ваш процесс шифрования / дешифрования приводит к повреждению исходных файлов классов. Я предлагаю очень осторожный процесс тестирования в оба конца. Возьмите очень большую коллекцию классов, затем выполните шифрование и дешифрование и (а) сравните с оригиналом и (б) попытайтесь загрузить их стандартным загрузчиком классов. Я предсказываю, что вы получите ошибки и они объяснят вашу проблему.

Возможно также, что ваша проблема очень специфична для того, что делает загрузчик классов после расшифровки перед передачей байтов в JVM, и в этом случае вам просто нужно будет отладить его, но я сначала протестировал бы первую возможность .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...