(2009) - Инструмент для деобфускации Java-кодов - PullRequest
11 голосов
/ 02 ноября 2009

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

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

Ответы [ 6 ]

14 голосов
/ 02 ноября 2009

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

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

Удачи.

9 голосов
/ 02 ноября 2009

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

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

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

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

  • модифицировать байт-код метода любым способом
6 голосов
/ 28 января 2011

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

https://github.com/Contra/JMD

5 голосов
/ 03 ноября 2009

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

1 голос
/ 24 июня 2012

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

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

1 голос
/ 02 ноября 2009

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

...