2012-06-10 3 views
2

Можно создать дубликат:
How do I “decompile” Java class files?Как декомпилировать файл .class?

Я новичок в Java и мне было интересно, если есть способ, чтобы получить исходный код файла (т.е. .java файл) из его скомпилированный файл (.class файл).

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

Также я узнал об обфускации кода в своем классе. Если возможна декомпиляция, как она будет вести себя для обфускации файла?

Заранее спасибо.

ответ

0

[править: Я не буду завершить ответ на этот вопрос, как дубликат, это просто additionnal комментарий на второй части вопроса]

Когда вы запутать класс, удалить все который не нужен для выполнения, но присутствует в файле, как и имена метода.

Фактически, обфускация изолированного класса не удаляет много, потому что другим классам нужны имена методов или видимых полей. Таким образом, вы обычно запутываете группу занятий в классе, используя инструмент, подобный proguard.

0

Да, кстати, очень просто получить программу под названием DJ Java Decompiler (поиск в google легко найти), и после ее установки вам просто нужно открыть файл .class, и он отображает весь код форматированный и отступы. Приложение только для Microsoft Windows

+0

Вы должны отметить, что эта конкретная программа работает только с окнами и что вам необходимо соответствующим образом настроить ее для открытия/декомпиляции классов. Если вы хотите интегрировать его с IDE, вам нужно предпринять еще несколько шагов, в зависимости от идеи. –

+0

Да, я знаю, но он сказал: «... мне было интересно, есть ли способ получить исходный код файла». если он хочет декомпилировать файл, это отличная программа для него. – Grego

Смежные вопросы