Есть ли инструмент для деобфушения java-обфускационных кодов?
Коды извлекаются из скомпилированного класса, но они запутываются и не читаются.
Есть ли инструмент для деобфушения java-обфускационных кодов?
Коды извлекаются из скомпилированного класса, но они запутываются и не читаются.
Вы пытались сделать код менее неясным с Java Deobfuscator (aka JDO), своего рода умный декомпилятор?
В настоящее время JDO выполняет следующие действия:
- переименовывает запутанные методы, переменные, константы и имена классов быть уникальным и более показательным их тип
- распространяется на все исходное дерево (бета)
- имеет простой в использовании графический интерфейс
- позволяет указать имя поля, метода и класса (новая функция!)
В настоящее время JDO не выполняет следующий (но это может однажды)
- изменить метод bytecode любым способом
Первым шагом будет изучение того, с каким инструментом он был запутан. Возможно, там уже есть "деобфускатор" для конкретного обфускатора.
С другой стороны, вы также можете просто запустить IDE и использовать свои возможности рефакторинга. Переименуйте имена классов, методов и переменных в нечто чувствительное. Используйте свои способности человеческого логического мышления, чтобы понять, что представляет собой код, и называть их чутко. И картина будет медленно, но уверенно расти.
Удачи.
Не для gravedig, но я написал инструмент, который работает на большинстве коммерческих обфускаторов
Я использовал Java Deobfuscator (aka JDO), но в нем есть несколько ошибок. Он не может работать с именами файлов, чувствительных к регистру. Поэтому я изменил исходный код и загрузил патч для него в sourceforge. Патч, Download
Скорее всего, только человеческая сила разума, чтобы понять это. Получите лучший декомпилятор и поразмышляйте над его выходом.
Может быть, он будет работать на Unix/Linux/MacOS?
Если это так, вы можете перенести один шаг своего процесса на виртуальную машину, где вы распаковываете код, прежде чем переименовать слишком длинные имена. Как долго ограничивается имя файла в Windows?