Как в IntelliJ IDEA открыть декомпилированный байт-код?

219
12 октября 2017, 09:47

Оказывается, можно сделать такую удивительную магию как:

  1. Написать программу.
  2. Скомпилировать в байт-код.
  3. Снова открыть её в IntelliJ IDEA.
  4. Исходный код, сгенерированный из байт-кода, может оказаться другим!

Вопросы:

  1. Как это сделать (инструкцию бы, с краткими пояснениями).

  2. Если я напишу программу, потом скомпилю в байт-код, потом открою через IntelliJ IDEA, потом снова скомпилю, может ли поведение программы во второй сборке отличаться от поведения в первой?

Answer 1
  1. Набираете код класса в IDEA.
  2. Собираете проект Ctrl + F9.
  3. Находите .class файл в дереве проекта (Папка out для обычного java-проекта, target - для maven-проекта).
  4. Открываете двойным кликом.

Answer 2

Intellij IDEA это просто как пример, можно воспользоваться Eclipse, он тоже так умеет.

Вообще компиляция происходит вызовом компилятора javac он находится в папке jdk\bin, вызываете с путём к файлу исходного кода, например C:\jdk1.8.0_144\bin\javac.exe Main.java, если у вас Window, jdk при этом находится там, куда вы его установили и может иметь другую версию. Рядом с файлом Main.java появится файл Main.class, который можно открыть как файл в IDEA

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

READ ALSO
Проблема при проверки на число

Проблема при проверки на число

Создал консольный калькулятор, когда ввожу число ошибка NumberFormatException

252
Что такое статический полиформизм?

Что такое статический полиформизм?

Наткнулся на такой термин - "статический полиформизм"Не знал про такое сочетание

193
webView не отображает страницу на android ниже 4.4.4

webView не отображает страницу на android ниже 4.4.4

Раньше работало на версиях от 41, теперь не работает до 4

233