Логировать работу софта не имея доступа к его исходникам?

Краткое описание задачи: есть некий софт (на java, без исходников) от некоего заграничного разработчика, который либо не желает вносить изменения в исходники, либо будет делать это очень долго. Есть требования безопасников к конечной системе на базе этого софта: должен логироваться доступ юзеров к некоторым объектам. Текущая версия программы это делать не умеет.

Как проще всего реализовать данный функционал?

На данный момент рассматривается следующее решение: decompile с последующим code injection через применение JBoss Javassist + java agent.

Возможно, что есть еще более короткий путь/более простая реализация/существующие решения.

Прошу знающих подсказать.
  • Вопрос задан
  • 3321 просмотр
Решения вопроса 1
ivnik
@ivnik
аспекты, load time weaving
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
javax
@javax
Software Architect, Java Developer since 1996
как выше уже сказали — аспекты
посмотрите на aspectj, запустите приложение с аспектом, который запишет в файл лога все вызываемые методы, потом решите какие методы вам интересны, сделайте аспекты, которые их аргументы пишут и т.д.
Ответ написан
Комментировать
@dborovikov
Посмотрите jboss byteman
Ответ написан
Комментировать
merlin-vrn
@merlin-vrn
Объекты, о которых речь — сущности в программе или про них также знает что-то другое (ну, записи в БД, файлы)? Если второе, то можно настроить аудит средствами ОС и сервера БД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы