2012-06-24 5 views
4

У меня есть банка, в которой файлы классов были запутаны. Я рад, что он вручную деобфусцирует его, но проблема в том, что имена классов настолько велики, что окна не будут сохранять их на диск. Есть ли какой-либо инструмент, который будет принимать в банке и переименовать все классы, а также предпочтительнее также методы и поля?Deobfuscate Java, классы массового переименования в jar

Кроме того, не давайте ответов, говоря, что нет никакой веской причины для декомпиляции и т. Д., Поскольку они не вносят никакой полезной информации в сообщество и не сохраняются. В моем случае я проверяю проблему безопасности в этом конкретном приложении.

+1

Вы проверили http://stackoverflow.com/questions/1662766/tool-to-deobfuscate-java-codes? – Thilo

+0

@Thilo Да, но все они требуют, чтобы классы были извлечены из банки (насколько я мог бы сказать в любом случае). –

+0

Вы пытались получить неискушенную версию от производителя? Это также в их интересах, если вы решаете проблемы безопасности. – rsp

ответ

1

Я бы, вероятно, использовал деобфускатор на виртуальной машине и какой-то дистрибутив Linux.
После деобфускации вы можете упаковать файлы в zip/jar и продолжить разработку в среде Windows.

Я бы порекомендовал VirtualBox с Ubuntu.

+0

Спасибо, я не думал об этом. У меня есть виртуальная машина, которую я использую, когда мне нужен linux. –

+0

Не забудьте принять ответ, если он решил проблему! :) – mercutio

2

Лучший способ приблизиться к современным инструментам - использовать Proguard просто для имен классов/членов. Затем с помощью инструмента, такого как Enigma, вручную создайте сопоставления.

Я также пишу program in Java-ASM, который принимает сопоставления и преобразует их в runnable Jar. Энгима сам по себе нечестно проявляет себя при экспорте.