Java Agent как инструмент обхода лицензий: этичный анализ и защита
Обычно Java-агенты используются для сбора телеметрии, логирования, профилирования, каких-то ультрабыстрых хотфиксов и прочих скучных вещей. Но сегодня мы исследуем приложение Java-агент, которое модифицирует код другого Java-приложения “на лету” и создано для обхода лицензионных ограничений. Называть его мы будем “агент”, “вредоносный агент” и т. п. Меня зовут Сергей, тимлид бэкэнд команды Cluster Manager ГК GlowByte. Код в нашем примере будет максимально обезличен. Эта тема рассматривается исключительно в целях исследования вопросов безопасности приложений и этичного использования инструментов изменения кода во время компиляции. В конце я предложу примеры методов отслеживания несанкционированного вмешательства в Java-приложение, а также методов противодействия, чтобы избавиться от рисков, которые мы обнаружим в процессе исследования.
https://habr.com/ru/companies/glowbyte/articles/938416/
#java #java_agent #decompilation #crack #reverseengineering #безопасность #instrumentation