Как прикрепить bytebuddy agent к динамическому классу, особенно когда динамический класс загружается из файла JAR со знаком - PullRequest
0 голосов
/ 06 декабря 2018

Я пытался прикрепить bytebuddy agent к старому апплету.На некотором этапе выполнения этот старый апплет получает подписанный файл JAR с другого хоста и загружает их динамически.Проблема в том, что агент не работает на этой стадии динамической загрузки.Я думаю, что в таком случае Рафаэль Винтерхальтер сказал, что with(ProtectionDomain) и AgentBuilder.Transformer.ForAdvice - это просто решение.Но как их применять?Я старался изо всех сил, чтобы ничего не получить.И нет никаких прецедентов в Интернете.Кто-нибудь, помогите мне.Спасибо заранее.

1 Ответ

0 голосов
/ 11 декабря 2018

Агент Java должен быть уведомлен о любой загрузке классов.Однако в случае апплетов существует вероятность того, что менеджер безопасности заблокирует инструментарий, если Byte Buddy использует какое-либо привилегированное действие без его разрешения.

При использовании совета не должно быть никакой разницы, загружается ли банка во время выполненияили если приложение является апплетом.Вы получаете сообщение об ошибке?Зарегистрируйте AgentBuilder.Listener.StreamWriting.toSystemOut() слушателя для устранения таких проблем.

...