Перевод статьи подготовлен для студентов курса «Разработчик Java» в образовательном проекте OTUS Вы же знаете, что jar-файл это zip-архив? То есть, его можно unzip -d target my.jar распаковать и достать все class-файлы. А каждый class-файл это bytecode, который легко-легко можно декомпилировать и получить весь ваш проект с именами всех ваших классов и их переменных и методов. И кодом методов. То есть, совсем всё можно из jar-файла получить. Если, конечно, он не обфусцирован. Давайте рассмотрим базовые способы обфускации источник Первый вид шифраторов изменяет структуру программы переименовыванием идентификаторов или удалением информации отладчика. При чём изменение идентификаторов имеет место при работе как с исходным кодом программы, так и с Java байт-кодом. В случае с изменением байткода необходимо запустить некоторую утилиту, которая изменит папку со скомпилированными классами либо jar-файл. А вот добиться изменения исходного кода можно даже простым рефакторингом в IDE. Например,
X-files в Java: обфускация и виды шифраторов
12 октября 201812 окт 2018
98
2 мин