Вопрос

Существует ли инструмент для деобфускации запутанных кодов Java?

Коды извлекаются из скомпилированного класса, но они запутаны и нечитабельны.

Это было полезно?

Решение

Пытались ли вы сделать код менее непонятным с помощью Java-деобфускатор (он же JDO), своего рода умный декомпилятор?

В настоящее время JDO выполняет следующее:

  • переименовывает запутанные методы, переменные, константы и имена классов чтобы они были уникальными и более показательными для их типа
  • продвигает изменения по всему дереву исходных текстов (бета-версия)
  • имеет простой в использовании графический интерфейс
  • позволяет указать имя для поля, метода и класса (новая функция!)

В настоящее время JDO не выполняет следующее (но это может произойти однажды)

  • измените байт-код метода любым способом

Другие советы

Первым шагом было бы узнать, с помощью какого инструмента он был запутан.Возможно, уже существует "деобфускатор" для конкретного обфускатора.

С другой стороны, вы также можете просто запустить IDE и использовать ее возможности рефакторинга.Переименуйте имена классов, методов и переменных во что-нибудь конфиденциальное.Используйте свое человеческое логическое мышление, чтобы понять, что на самом деле представляет собой код, и разумно назовите их.И картина медленно, но верно росла бы.

Удачи.

Не для того, чтобы заглушать, но я написал инструмент, который работает с большинством коммерческих обфускаторов

https://github.com/Contra/JMD

Я использовал Java-деобфускатор (он же JDO) но в нем есть несколько ошибок.Он не может работать с именами файлов, чувствительными к регистру.Итак, я изменил исходный код и загрузил патч для этого в sourceforge.Патч, Скачать

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

Может быть, это будет работать на Unix / Linux / macOS?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top