- Конвертировать .class в .java
- 7 ответов
- Вызов javap для чтения байт-кода
- Преобразование файлов .class обратно в .java файлы
- .JAR and .Class to Java decompiler
- How to convert .class to .java?
- madhukar2sri
- nareshv1
- Как декомпилировать class в java
- Из .class в .java
- Dragon2488
- minecraftsrv
- Dragon2488
- minecraftsrv
- Oldestkon
- Dragon2488
- Skarlet
- Oldestkon
- minecraftsrv
- PROTON5902
- minecraftsrv
- necauqua
- laz2727
- Nao
- Dragon2488
- laz2727
Конвертировать .class в .java
Вы, ребята, знаете, что может быть причиной? Я сделал man javap, и насколько я знаю, синтаксис верен. Если есть другой способ конвертировать его в .java файл, я более чем готов попробовать. Любая идея очень ценится?
7 ответов
Вызов javap для чтения байт-кода
Команда javap принимает имена классов без расширения .class . Попробуйте
Преобразование файлов .class обратно в .java файлы
javap , однако, не даст вам реализаций методов в java-синтаксисе. Он, в лучшем случае, даст вам информацию в формате байт-кода JVM.
Чтобы фактически декомпилировать (т.е. сделать обратное javac ), вам нужно будет использовать надлежащий декомпилятор. См. Например, следующий связанный с этим вопрос:
Я категорически не согласен с тем, что javap -c Classname является правильным ответом. Вы не используете javap для декомпиляции файлов (перевод двоичного файла в исходный код). javap — просто дизассемблер. Это не создает исходный код Java для вас. Вам нужен правильный Java-декомпилятор, такой как JAD или лайки. Может быть, я не понимаю что-то о javap после всех этих лет, но я считаю, что все ответы, указывающие на это, просто неверны.
Вы читали вопрос? Вы читали часть, в которой говорится: «У меня та же ошибка. ERROR:Could not find ClassName.class Ребята, вы знаете, что может быть причиной?» Кроме того, вы читали часть моего ответа, в которой рассказывается, как на самом деле декомпилировать .class-файлы? Не могли бы вы уточнить, что вы нашли неправильно в моем ответе?
.JAR and .Class to Java decompiler
Until recently, you needed to use a Java decompiler and all of them were either unstable, obsolete, unfinished, or in the best case all of the above. And, if not, then they were commercial. The obsoleteness was typically proved by the fact that they can only decompile JDK 1.3 bytecode.
The only so-so working solution was to take the .class file and pre-process it, so it becomes JDK 1.3 compatible, and then run Jad over it (one of those older, but better decompilers).
But recently, a new wave of decompilers has forayed onto the market: Procyon, CFR, JD, Fernflower, Krakatau, Candle.
Here’s a list of decompilers presented on this site:
CFR
This free and open-source decompiler is available here: http://www.benf.org/other/cfr/
Author: Lee Benfield
- Java 7: String switches
- Java 8: lambdas
- Java 9: modules
- Java 11: dynamic constants
- Java 12: Kotlin style «switch expressions»
- Java 14: ‘instance of’ pattern match and ‘Record types’
JD
free for non-commercial use only, http://jd.benow.ca/
Author: Emmanuel Dupuy
Updated in 2015. Has its own visual interface and plugins to Eclipse and IntelliJ . Written in C++, so very fast. Supports Java 5.
Procyon
- Enum declarations
- Enum and String switch statements
- Local classes (both anonymous and named)
- Annotations
- Java 8 Lambdas and method references (i.e., the :: operator).
Fernflower
Updated in 2015. Very promising analytical Java decompiler, now becomes an integral part of IntelliJ 14. (https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler)
Supports Java up to version 6 (Annotations, generics, enums)
JAD
given here only for historical reason. Free, no source-code available, jad download mirror
Author: Pavel Kouznetsov
Probably, this is the most popular Java decompiler, but primarily of this age only. Written in C++, so very fast.
Outdated, unsupported and does not decompile correctly Java 5 and later.
How to convert .class to .java?
Profile
Answers by AmitPai
Questions by AmitPai
madhukar2sri
Profile
Answers by madhukar2sri
look for Decompiler like DJ Java Decompiler
and it is not 100% done it does not show the imports.
nareshv1
Profile
Answers by nareshv1
Using jadclipse pluging installed in ur IDE,u can view the class files like java files, but u will not be able to edit.
To make a class file into java file in editable format, get the jad.exe file
in crompt prompt, goto the file location, keep the jad.exe where the class file is present and run the command
jad .class
The output will be filaname.jad, u can rename them as java file and use it again
The jad doesnt bring the comments and import statements which were there in the class file
Как декомпилировать class в java
Декомпиляция (от англ. «decompile» — разбор на составляющие) — это процесс восстановления исходного кода из скомпилированного кода.
В Java для декомпиляции .class файлов можно использовать различные инструменты, например:
- JD-GUI — это бесплатный графический интерфейс для декомпиляции .class файлов. Он доступен для Windows , macOS и Linux . Просто откройте .class файл в JD-GUI и вы получите доступ к исходному коду.
- Procyon — это бесплатный декомпилятор, написанный на Java . Он может декомпилировать .class файлы и файлы JAR . Вы можете использовать его из командной строки или как библиотеку в своем проекте.
- Fernflower — это другой бесплатный декомпилятор, написанный на Java . Он может декомпилировать .class файлы и файлы JAR , а также декомпилировать классы, которые были зашифрованы с помощью обфускатора.
Пример декомпиляции .class файла с помощью JD-GUI :
- Скачайте и установите JD-GUI с официального сайта
- Запустите JD-GUI и откройте .class файл, щелкнув на кнопке «Open File» в верхнем левом углу.
- Выберите .class файл, который вы хотите декомпилировать.
- JD-GUI покажет вам исходный код класса в окне редактора.
Важно отметить, что декомпиляция кода может быть незаконной в некоторых случаях, особенно если это нарушает авторские права. Поэтому, если вы не являетесь владельцем исходного кода, обязательно получите разрешение на декомпиляцию.
Из .class в .java
Авторские права? А я вот возьму и посмотрю, например. И что дальше? Я же не беру мод, разбираю, переименовываю, собираю и выдаю за свой?
Dragon2488
minecraftsrv
[font=Verdana, Helvetica, Arial, sans-serif] Я же не беру мод, разбираю, переименовываю, собираю и выдаю за свой [/font]Dragon2488
minecraftsrv
Oldestkon
БРИНГ МИ МОАР БИГГЕР ФОНТС, ЙЕА Таки всем пофиг, что запрещено, а что нет.
В любом случае абсолютно любой человек имеет возможность декомпилировать чей-то код и посмотреть решение нужных проблем. Копировать код или ещё что-то делать с ним совсем не обязательно.
Авторские права бывают разные и поэтому одни могут нарушаться лишь при модификации и распространении, а другие даже при просмотре.
В данном случае, вероятнее всего, просмотр кода ничего за собой не несёт. Да и отследить это невозможно, а это ключевой момент.
Dragon2488
Skarlet
Не очень приятно,когда воруют твои идеи. например трюки в коде:getlost:. Не хочет человек показывать работу, не надо пытаться узнать.
P.S. Аморальность — это плохо. Надо уважать людей,сами же потом ноете. (Ну почему сё,почему это)
Пожалуйста не оскверняйте этот форум. Это оазис интернета. Нужны исходники,есть гитхаб:happy:
Сообщение в сраче оформлять так: тезис, ваше мнение, примеры из публицистики или литературы, вывод.
Оцениваются знание простейших правил русского языка, логика текста, аргументация мнения, этика.
P.S. А может просто не будем сраться?
Oldestkon
Копипаст это копипаст. Иногда действительно стоит посмотреть на решение какой-то проблемы и ты уже в силах сам все доделать.
Хотя то, что смотреть в чужой код нехорошо, если автор этого не хочет, я никак не отрицаю.
Просто надо учитывать, что есть люди, которым как бы пофиг на все эти заявления и они всё равно пойдут копать чужой защищенный код.
minecraftsrv
Если кому-то что-то надо, то этот кто-то это делает. У моралфажничество развели блин. Посчитал нужным — сделал, посчитал ненужным — не сделал.
PROTON5902
minecraftsrv
necauqua
когда-то был anti344
Посчитал нужным — убил сто человек, посчитал ненужным — не убил.
Я то как-бы уже не встреваю, декомпилируйте себе на здоровье, коли уж сильно хочется, но вот разговорчики про «моралфажничество», как ты это назвал, мне не нравятся.
рашка-какашка, ахах, вау, roasted.. кринжовая автократия ответственная за 80% мировой нестабильности из-за каких-то супер-идиотских амбиций, лол, зачем?.
Меня CMTV (так же известный в узких кругах как СЬЕМ) не удаляет из админов несмотря на появление тут раз в несколько месяцев в лучшем случае, приятно
laz2727
Java — это, во многих отношениях, —С#
Nao
С какого мне интересно чёрта нельзя использовать чужой код модов для майна? Размечтались. Лицензию игры не открывали даже.
Без лишних формальностей: любой код внедряемый в игру/использующий код игры и тд, должен быть общедоступен и не является интеллектуальной собственностью разработчика. Кроме того, запрещена его прямая монетизация.
Это не относится только к дополнительному софту (вроде редакторов карт и скинов), который не взаимодействует с кодом моджанговцев.
Dragon2488
А вот не должен быть общедоступен. Есть такая штука, называется авторские права. Не хочет автор чтоб ты смотрел — не будет показывать. Конечно кто хочет может декомпилировать и посмотреть, без разрешения. Но что поделаешь.
laz2727
С какого мне интересно чёрта нельзя использовать чужой код модов для майна? Размечтались. Лицензию игры не открывали даже.
Без лишних формальностей: любой код внедряемый в игру/использующий код игры и тд, должен быть общедоступен и не является интеллектуальной собственностью разработчика. Кроме того, запрещена его прямая монетизация.
Это не относится только к дополнительному софту (вроде редакторов карт и скинов), который не взаимодействует с кодом моджанговцев.
А теперь цитаты из лицензии.
Any tools you write for the Game from scratch belong to you. Modifications to the Game («Mods») (including pre-run Mods and in-memory Mods) and plugins for the Game also belong to you and you can do whatever you want with them, as long as you don‘t sell them for money / try to make money from them. We have the final say on what constitutes a tool/mod/plugin and what doesn‘t.
If you make any content available on or through our Game, you must give us permission to use, copy, modify and adapt that content. This permission must be irrevocable, and you must also let us permit other people to use, copy, modify and adapt your content. If you don‘t want to give us this permission, do not make content available on or through our Game. Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you don‘t like.
Java — это, во многих отношениях, —С#