Я пытаюсь понять, что делает файл класса Java-апплета под капотом. Открытие его с помощью Блокнота или Текстовой панели просто показывает кучу глупостей.
Есть ли способ вернуть его в удобочитаемый формат, чтобы я мог попытаться понять, что он делает?
- Среда == Установлена Windows с VS 2008.
Ответы:
jd-gui - лучший декомпилятор на данный момент. он может обрабатывать новые функции Java по сравнению с пылящим JAD.
источник
Если вы не против чтения байт-кода, javap должен работать нормально. Это часть стандартной установки JDK.
источник
Как указано @MichaelMyers, используйте
чтобы получить код сборки JVM. Вы также можете перенаправить вывод в текстовый файл для лучшей видимости.
источник
Вам нужен декомпилятор java, для этого можно использовать инструмент командной строки
javap
. Кроме того, Java Decompiler HOW-TO описывает, как вы можете декомпилировать файл класса.источник
то, что вы ищете, - это декомпилятор java. Я рекомендую JAD http://www.kpdus.com/jad.html. Он бесплатный для некоммерческого использования и выполняет свою работу.
Примечание: это не сделает код точно таким же, как был написан. т.е. вы потеряете комментарии и, возможно, имена переменных, так что это будет немного сложнее, чем просто читать обычный исходный код. Если разработчик действительно скрытный, он также запутает свой код, что сделает его еще более трудным для чтения.
источник
cpuguru, если ваш апплет был скомпилирован с использованием javac 1.3 (или менее), лучшим вариантом будет использование Jad.
К сожалению, последний JDK, поддерживаемый JAD 1.5.8 (14 апреля 2001 г.), - это JDK 1.3.
Если ваш апплет был скомпилирован с помощью более свежего компилятора, вы можете попробовать JD-GUI : этот декомпилятор находится в стадии разработки, тем не менее, он генерирует правильные исходные коды Java, большую часть времени, для классов, скомпилированных с JDK 1.4, 1.5 или 1.6.
DarenW, спасибо за ваш пост. JD-GUI еще не лучший декомпилятор ... но я над этим работаю :)
источник
jd-gui " http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q= " - лучший и удобный вариант декомпиляции .class. файл....
источник
Использование Jad для декомпиляции, вероятно, ваш лучший вариант. Если код не был запутан, результат будет нормальным.
источник
Это скомпилированный код, вам понадобится декомпилятор, например JAD: http://www.kpdus.com/jad.html
источник
Вам нужно использовать декомпилятор. Другие предлагали JAD, есть другие варианты, JAD - лучший.
Я повторю комментарии, которые вы можете немного потерять по сравнению с исходным кодом. Особенно забавно будет выглядеть, если в коде используются дженерики из-за стирания.
источник
Разумеется, JAD и / или JADclipse Eclipse.
источник
Если файл класса, который вы хотите изучить, является открытым исходным кодом, вы не должны декомпилировать его, а вместо этого прикрепите исходные файлы непосредственно в вашу среду IDE. таким образом, вы можете просто просмотреть код некоторого библиотечного класса, как если бы он был вашим собственным
источник
Как было предложено, вы можете использовать JAD для его декомпиляции и просмотра файлов. Чтобы упростить чтение, вы можете использовать плагин JADclipse для eclipse, чтобы напрямую интегрировать JAD в eclipse, или использовать DJ Java Decompiler, который намного проще в использовании, чем JAD из командной строки.
источник
JAD - отличный вариант, если в результате вам нужен читаемый код Java. Однако, если вы действительно хотите углубиться во внутреннее устройство
.class
формата файла, вам понадобитсяjavap
. Он связан с JDK и позволяет вам «декомпилировать» шестнадцатеричный байт-код в читаемый ASCII. Создаваемый им язык по-прежнему является байт-кодом (не похожим на Java), но он довольно читабелен и чрезвычайно поучителен.Кроме того, если вы действительно хотите, вы можете открыть любой
.class
файл в шестнадцатеричном редакторе и напрямую прочитать байт-код. Результат идентичен использованиюjavap
.источник
Декомпилировать Applet.class не нужно. Исходный код общедоступных классов Java API поставляется с JDK (если вы решите установить его) и он лучше читается, чем декомпилированный байт-код. Вы можете найти его в сжатом виде в src.zip (находится в папке установки JDK).
источник
CFR - еще один декомпилятор java - отличный декомпилятор для современной Java, написанной i Java 6.
источник
вы также можете использовать доступные онлайн-декомпиляторы Java. Например, http://www.javadecompilers.com
источник