Как декомпилировать программу java

Список декомпиляторов Java и класс Java для декомпиляции в Eclipse IDE, IntelliJ IDEA и командной строке.

Автор оригинала: mkyong.

В этой статье показано, как декомпилировать класс Java в среде IDE Eclipse, IntelliJ IDEA и командной строке.

1. Декомпиляторы Java

Декомпилятор Java может конвертировать .class файлы возвращаются в исходный код .java файлы или преобразуют байт-код программы в исходный код. Ниже приведены некоторые из декомпиляторов Java:

  1. Цветок папоротника – встроенный декомпилятор Java IntelliJ IDEA.
  2. Проект JD – еще один быстрый декомпилятор Java, инструмент с графическим интерфейсом.
  3. Procyon – вдохновлен .NET ИЛСпи и Моно. Сесил.
  4. CFR – другой декомпилятор java, полностью написанный на Java 6, декомпилирует современные функции Java до Java 14.
  5. Jad – больше не поддерживается, закрытый исходный код.

2. Декомпилируйте класс Java в среде IDE Eclipse

В Eclipse IDE мы можем использовать Расширенный декомпилятор классов плагин для декомпиляции файлов классов Java без прямого исходного кода.

13. Ломаем exe файл в поисках пароля.

2.1 Выберите Справка -> Eclipse Marketplace. для поиска и установки Расширенного декомпилятора классов плагина.

2.2 Выберите Окно -> Настройки -> Общие -> Редакторы -> Ассоциации файлов , настройте *.класс без источника по умолчанию на Средство просмотра декомпилятора классов .

Сейчас , нажмите на класс или методы, нажмите F3 , и плагин автоматически декомпилирует класс Java.

Примечание Для получения более подробной информации об установке и настройке Расширенного декомпилятора классов плагина, посетите этот декомпилятор Java в Eclipse IDE .

3. Декомпилируйте класс Java в IntelliJ IDEA

IntelliJ IDEA имеет встроенный декомпилятор Java, использующий FernFlower . Нам не нужно ничего устанавливать или настраивать, просто нажимаем на класс или метод Java, нажимаем CTRL + B (объявление или использование) или CTRL + ALT + B (реализация), IntelliJ IDEA автоматически декомпилирует класс Java.

4. Декомпилируйте класс Java в командной строке (цветок папоротника)

В этом примере показано, как использовать FernFlower (Java-декомпилятор) для декомпиляции .jar или .class файл в командной строке.

Примечание Размер официального Цветка папоротника немного велик, трудно построить источник. Обходной путь заключается в использовании зеркальной сборки fesh0r Fernflower .

4.1 клон git исходный код и Gradle встраивают исходный код в fernflower.jar

$ git clone https://github.com/fesh0r/fernflower $ cd fernflower # build the source code using Gradle build tool $ gradle build # the fernflower.jar at build/lib/

4.2 В приведенном ниже примере используется fernflower.jar для декомпиляции asm-analysis-3.2.jar Файл JAR в папку /путь/декомпилировать/ (должен существовать).

Читайте также:
Как пройти гвоздь программы в hitman

# decompile JAR or Class files # java -jar fernflower.jar /path/asm-analysis-3.2.jar /path/unknown.class /path/decompile/ $ java -jar fernflower.jar /path/asm-analysis-3.2.jar /path/decompile/ INFO: Decompiling class org/objectweb/asm/tree/analysis/Analyzer INFO: . done INFO: Decompiling class org/objectweb/asm/tree/analysis/AnalyzerException INFO: . done INFO: Decompiling class org/objectweb/asm/tree/analysis/BasicInterpreter INFO: . done

В результате получается новый /path/decompile/asm-analysis-3.2.jar содержащий исходный код *.java .

Извлеките декомпилированный файл JAR.

$ jar -xf /path/decompile/asm-analysis-3.2.jar

5. Рекомендации

  • Плагин декомпилятора Java для Eclipse IDE
  • Википедия – Декомпилятор
  • Википедия – Декомпилятор JD
  • Википедия – Декомпилятор JEB

Источник: javascopes.com

Декомпиляция Java приложений

Недавно я задался вопросом: Какой декомпилятор лучше?
Начал мучить Google, экспериментировать. В итоге нашел отличное решение. Как декомпильнуть любую программу и получить рабочие «исходники»? Об этом в сабже.

Краткий обзор популярных декомпиляторов

Mocha

Mocha (автор — Hanpeter van Vliet)— это, вероятно, один из первых выпущенных декомпиляторов Java. Предоставляет консольный пользовательский интерфейс. Его релиз состоялся в 1996-ом году, ещё до того, как появился Java Development Kit версии 1.1

JAva Decompiler

JAva Decompiler, JAD (автор — Pavel Kouznetsov) — по всей видимости, самый
популярный декомпилятор Java. Как и Mocha, этот декомпилятор предоставляет консольный интерфейс, давно не обновляется и не поддерживается, но большое число графических инструментов для работы с ним, в том числе плагин JadClipse для среды разработки Eclipse, делают его и по сей день используемым в качестве подручного средства для декомпиляции небольших классов.
Помимо декомпиляции, JAva Decompiler обладает возможностью дизассемблирования .class-файлов.

DJ Java Decompiler

DJ Java Decompiler (автор — Atanas Neshkov) — долгое время вопреки названию являлся лишь графической оболочкой для предыдущего декомпилятора, позволявшей легко и удобно выбрать аргументы командной строки для вызова JAD. В текущей версии добавлена поддержка аннотаций, но декомпилятор стал условно-бесплатным (необходима покупка после 10 пробных использований).

JD-Core
  • Полностью написана на языке C++, что делает декомпиляцию необычайно быстрой
  • Не требует для работы Java Runtime Environment и поэтому не требует специальной установки
  • Корректно декомпилирует .class-файлы, сгенерированные большинством компиляторов
Fernflower
  • Параметрические типы
  • Аннотации
  • Перечислимые типы
  • Утверждения

Мой выбор

  1. JD-GUI — для просмотра, не более
  2. Fernflower — полное восстановление

Fernflower будет развиваться в сторону деобфускатора

Специальных функций деобфускации Fernflower сейчас не содержит, они будут подключаться в дальнейшем отдельными модулями

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

Не хватает еще модуля переименования

Это да. Поищем что-то такое в интернетах.
На выручку придет Proguard, но необыкновенный

ProGuardDeobfuscator — небольшая модификация программы ProGuard, превращающая ее в квази-деобфускатор. В процессе обработки короткие обфусцированные имена пакетов, классов, полей и методов заменяются на более осмысленные и уникальные в пределах Jar файла.

Скачать исходники и сам деобфускатор: projectd8.org/Programs/Java/PGD

Инструменты все есть, но лично я, для облегчения воссоздания сорцов использую так же любимую Netbeans IDE — очень сильно помогает своими подсказками, особенно когда классов много.
Спасибо за внимание!

Читайте также:
Какие существуют типы ошибок в программах
Ссылки

UPD:
Извиняюсь, в offline версии Fernflower присутствует модуль переименований и уйма других штук — Readme

Источник: habr.com

10 лучших декомпиляторов java для реинжиниринга программ

Интернет

Автор Andrew Parish На чтение 5 мин Просмотров 207 Опубликовано 13.07.2022

Работа Java-декомпилятора по преобразованию .class типов файлов в исходный код Java. Проще говоря, мы можем сказать, что эти декомпиляторы помогают вам декомпилировать кодировку Java в читаемую форму. Это означает, что вы также можете декомпилировать файлы APK , поскольку инструмент Android программируется на Java.

Эти декомпиляторы помогут вам анализировать и исследовать код классов Java, таких как ArrayList, HashSet и HashMap. Итак, если вы ищете хорошие и полезные приложения-декомпиляторы, мы составили список лучших декомпиляторов для Java-программ.

10 лучших декомпиляторов Java

10 лучших декомпиляторов java для реинжиниринга программ

JDProject

Это автономный декомпилятор Java, который выделяется среди других подобных приложений. Этот инструмент помогает декомпилировать Java 5 или версии, выпущенные позже Java 5. Самой последней является Jave 8. Для каждого этапа есть отдельный модуль, и это один из лучших инструментов декомпилятора для Java. Некоторые из его модулей — JD Eclipse, который специально разработан для стадии eclipse в Java. Другой модуль — JD intellij, предназначенный для этапа Intellij IDEA.

CFR Decompiler

CFR означает Class File Reader. Этот java-декомпилятор написан на Java 6. Несмотря на то, что он работает на Java 6, он достаточно продвинут, чтобы поддерживать основные моменты Java 8. Лучшая часть этого декомпилятора заключается в том, что это декомпилятор с открытым исходным кодом и широкими возможностями настройки в соответствии с потребностями пользователя. Это приложение довольно эффективно и быстро в работе.

DJ Java Decompiler

Это приложение для Windows, которое может быть легко доступно на Windows, включая Windows 7, Windows 8, Windows 8.1, а также новейшую Windows 10. Нет необходимости в JVM (Java Virtual Machine). Сильной стороной этого инструмента является возможность одновременной декомпиляции нескольких Java-документов. С помощью этого приложения клиенты могут изменять и накапливать код Java.

Cavaj Java Decompiler

Если вы являетесь пользователем Windows, вам понравится эта программа, потому что это очень хорошая альтернатива в ваших руках для декомпиляции программ Java. Инструмент чрезвычайно прост и удобен в работе. Он способен декомпилировать все типы документов классов Java. Однако инструмент требует наличия функции пунктуации.

Если инструмент лучше всего подходит для Windows, он бесполезен для пользователей Mac и Linux, поскольку не поддерживается этими устройствами. Это очень полезный инструмент для декомпиляции документов Java в нормальный исходный код, который можно бесплатно установить на любой ПК с Windows.

Procyon

Это приложение было создано одним из величайших разработчиков по имени Майк Стробел. Преимущество этого декомпилятора перед другими в том, что он может управлять обновлением Java Dialect с JDK 1.5 до всех предыдущих версий. Эта функциональность обычно отсутствует в других Java-декомпиляторах. Декомпилятор Procyon поддерживает Java 8 Lambdas и раскрытие перечислений.

Интерфейс и другие детали этого декомпилятора хороши. Procyon является более новым, чем JDProject, однако он составляет хорошую конкуренцию другим приложениям такого рода.

Читайте также:
Форматирование символов в программе ms word это

AndroChef

Это снова программа для Windows для декомпиляции Java проектов. Используя этот инструмент, вы можете успешно декомпилировать Apks, код класса Java и dex. Программа очень проста и удобна в использовании. Она бесплатна и имеет все основные функции, которые требуются в инструменте декомпилятора для Java. Она поддерживает Windows XP, Windows 2003, Vist, 7, Windows 8, 8.1 и последнюю из всех Windows 10 совместима с AndroChef.

Будь то Java 6 или Java 7, AndroChef может сделать это для вас. Этот декомпилятор также хорошо работает с Java 8, .Container , .Class documents.

YouTube video: 10 лучших декомпиляторов java для реинжиниринга программ

JBVD Java Decompiler

Это мощный декомпилятор, который может использоваться профессионалами. Большинство профессиональных джавасистов используют этот инструмент в качестве библиотеки с открытым исходным кодом для декодирования Java-документов. Он лучше всего подходит для Windows и может быть легко загружен из веб-источников.

Инструмент отлично работает для преобразования любого файла .class в java-документ. Однако единственное условие — на вашем устройстве Windows должна быть установлена Java. Использование инструмента настолько приятно, что преобразование файлов займет не более минуты.

Fernflower Java Decompiler

Еще один аналитический инструмент для декомпиляции java-документов — Fernflower. Этот инструмент, однако, все еще находится на пути к званию лучшего, но он предлагает легкие решения проблем, связанных с декомпиляцией Java. Хорошая вещь в этом настольном приложении — оно автоматически переименовывает непонятные символы и собирает их все в файл формата JAR. Это библиотека Java с открытым исходным кодом.

Enigma Java Decompiler

Этот инструмент в основном используется для деобфускации Java. Для деобфускации моделей Minecraft этот инструмент использует Procyon. Этот инструмент используется в области моддинга в самой популярной игре Minecraft, которая написана на языке Java.

Konloch’s Bytecode Viewer

Этот инструмент является полностью открытой программой. На данный момент инструмент не завершен и все еще находится в стадии разработки. Этот инструмент использует помощь других приложений, таких как Procyon и Fernflower. Таким образом, в целом можно сказать, что этот инструмент не работает самостоятельно, но он работает в координации с этими приложениями, что делает общую задачу декомпиляции Java просто превосходной.

Вывод

Итак, это были некоторые из наиболее используемых и предпочитаемых декомпиляторов Jave, которые вы можете использовать для упрощения своей работы. В интернете можно найти множество вариантов, но приведенный выше список отсортирован после анализа всех значимых и важных аспектов приложения. Мы уверены, что вы найдете их полезными. Кроме того, некоторые из вышеупомянутых инструментов являются просто программами просмотра. Это позволяет использовать такие приложения даже без установленной в системе Java.

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

Источник: win-info.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru