Как просмотреть код файла jar

Обновлено: 21.11.2024

Вы всегда можете распаковать исходные файлы (файлы Java) jar-файла в ZIP-архив. расположение в вашей системе. Щелкните меню «Файл» и выберите «Сохранить источники JAR». Исходники будут сохранены в виде zip-файла с тем же именем, что и jar.

Какая программа открывает файл .jar?

Как извлечь класс из jar-файла?

Вы всегда можете распаковать исходные файлы (файлы Java) jar-файла в ZIP-архив. расположение в вашей системе. Перетащите банку, для которой вы хотите получить исходники, на JAD. Перейдите в папку вашего файла jar. измените его расширение на . молния. Все готово, и вы можете легко извлечь его, просто дважды щелкнув по нему.

Как извлечь файл jar в Windows 10?

Откройте файл, нажав значок «Открыть» в меню или выбрав «Файл», а затем «Открыть архив». Найдите место, где находится файл JAR, выберите его и нажмите «Открыть». Список сжатых файлов появится в окне программы.

Как установить файл jar в Windows 10?

В последней версии Java теперь можно запускать файлы Jar. Откройте проводник и папку, содержащую файл, который нужно запустить. Вы должны щелкнуть правой кнопкой мыши файл Jar и выбрать «Открыть с помощью» в контекстном меню. Нажмите «Выбрать другое приложение», а затем выберите его, чтобы открыть его с помощью двоичного файла Java(TM) Platform SE.

Как скачать файл JAR?

ПроцедураВ дереве навигации выберите «Настроить систему» ​​> «Экспорт данных». Отображается страница «Экспорт данных». На странице «Экспорт данных» щелкните имя файла JAR, который вы хотите загрузить. В диалоговом окне «Загрузка файла» нажмите «Сохранить». Перейдите к месту сохранения файла и нажмите "Сохранить".

Как просмотреть содержимое jar-файла в Windows?

Или в Windows переименовать . jar-файл в . zip, а затем вы можете разархивировать, чтобы извлечь и просмотреть содержимое файла jar. Поскольку jar внутри представляет собой zip-файл… Перетащите соответствующий файл jar в проект Java. Щелкните правой кнопкой мыши файл jar и выберите «Путь сборки» -> «Добавить в путь сборки».

Как прочитать текстовый файл в файле jar?

4 ответа. Вы не можете использовать File внутри файла JAR. Вам нужно использовать InputStream для чтения текстовых данных. BufferedReader txtReader = новый BufferedReader(новый InputStreamReader(getClass().

Как просмотреть исходный код jar-файла в eclipse?

Как просмотреть содержимое jar-файла?

Просмотр содержимого файла JAR Параметр t указывает, что вы хотите просмотреть оглавление файла JAR. Параметр f указывает, что файл JAR, содержимое которого необходимо просмотреть, указан в командной строке. Аргумент -file — это путь и имя файла JAR, содержимое которого вы хотите просмотреть.

Как создать файл jar?

Чтобы создать новый файл JAR в рабочей среде: Либо из контекстного меню, либо из меню «Файл» строки меню выберите «Экспорт». Разверните узел Java и выберите файл JAR. На странице Спецификация файла JAR выберите ресурсы, которые вы хотите экспортировать, в поле Выберите ресурсы для экспорта.

Как просмотреть содержимое jar-файла в Linux?

Чтобы просмотреть содержимое: jar tvf jarfile.jar. Чтобы извлечь: jar xvf jarfile.jar.

Как распаковать jar-файл в Unix?

В командном окне/терминале оболочки введите команду jar, а затем параметры xf ‘jar -xf’ (где находится файл jar, который вы хотите извлечь). Это извлечет банку в текущий каталог/папку. Так как файлы jar необходимы .

Содержит ли файл jar исходный код?

Jar аналогичен ZIP-файлу, поэтому он может содержать или не содержать исходный код, необходимый для разработки. Вы можете прочитать о jar-файлах здесь.

Как распаковать jar-файл в eclipse?

Чтобы экспортировать проект в JAR-файл, запустите Eclipse и перейдите в рабочую область. В проводнике пакетов щелкните левой кнопкой мыши проект, который хотите экспортировать. Щелкните правой кнопкой мыши тот же проект и выберите «Экспорт». Когда появится диалоговое окно «Экспорт». , разверните Java и щелкните файл JAR. Появится диалоговое окно экспорта JAR. Нажмите Готово.

Как создается файл Jar?

Инструмент jar (архив Java) в составе JDK позволяет создавать исполняемый файл jar. Исполняемый jar-файл вызывает основной метод класса, если дважды щелкнуть его. Чтобы создать исполняемый файл jar, вам необходимо создать . mf, также известный как файл манифеста.

Есть ли способ извлечь исходный код из исполняемого файла .jar (Java ME)?

Но обратите внимание, что это может быть незаконным в зависимости от того, владеете ли вы авторскими правами на банку, страны, в которой вы живете, и цели, с которой вы это делаете.

Если это открытый исходный код, получите исходный код от разработчика. В противном случае "Любое соблюдение лицензионного соглашения будет оценено".

11 ответов 11

Используйте графический интерфейс JD. Откройте приложение, перетащите в него файл JAR.

Вы можете извлечь файл jar с помощью команды:

@caffinatedmonkey извлекает исходный код, когда jar содержит файлы Java, например.jar с именами, обычно оканчивающимися на «-sources». Он действительно извлекает файлы .class только в том случае, если jar не содержит исходных файлов Java.

Я считаю, что это можно сделать очень легко. Вы всегда можете распаковать исходные файлы (Java-файлы) jar-файла в ZIP-архив.

Действия, чтобы получить исходный код jar-файла в виде zip-архива:

Надеюсь, это поможет.

Ссылка не работает по какой-то причине, поэтому добавьте ссылку, откуда вы можете скачать JDGUI

После сохранения всех исходников, когда я открываю файлы Java, все строки отображаются как строки с комментариями. Есть ли какие-либо настройки, чтобы это исправить?

Ваш JAR может содержать исходный код и javadoc, и в этом случае вы можете просто использовать jar xf my.jar для их извлечения.

В противном случае вы можете использовать декомпилятор, как указано в ответе adarshr:

Используйте JD GUI. Откройте приложение, перетащите в него файл JAR.

Я знаю, что это старый вопрос, но все же думал, что это кому-то поможет

1) Перейдите в папку с файлом jar.

2) изменить его расширение на .zip.

3) Все готово, и вы можете легко извлечь его, просто дважды щелкнув по нему.

Примечание. Я проверил это на MAC, все работает. Надеюсь, это будет работать и в Windows.

@JCodex, я занимаюсь исследовательским проектом по инструменту анализа настроений «opinionfinder», и его jar действительно содержит как файлы Java, так и файлы классов. так что ваш комментарий не на 100% верен. Я знаю, что обычно он содержит только .class, но не в этом случае, по крайней мере

Кажется, JD-GUI — это многоплатформенный инструмент, который фактически декомпилирует код и показывает исходный код для классов во всех пакетах. Я попробовал и смог получить исходный код за секунду в MacOS. У меня установлена ​​Ява 8. Вы можете получить его на jd.benow.ca Не уверен, что это работает для больших проектов.

Выполните следующие действия на вашем Linux-сервере, где работает Java (если вам нравится терминальный способ работы)

ПРИМЕЧАНИЕ: как прокомментировал @Richard, "это может быть незаконным в зависимости от того, владеете ли вы авторскими правами на банку, страны, в которой вы живете, и цели, с которой вы это делаете".

Для определенного файла класса вы можете сделать java -jar procyon-decompiler-0.5.36.jar /Path/to/your/jar package/of/the/java/class.class > className.java

Действия, чтобы получить исходный код jar-файла в виде zip-архива:

Перетащите банку или откройте файл .jar, для которого вы хотите получить исходный код, на JD.

Откроется декомпилятор Java со всей структурой пакета в древовидном формате.

Нажмите на меню "Файл" и выберите "Сохранить исходники JAR". Исходники будут сохранены в виде zip-файла с тем же именем, что и jar.

Пример:-

При необходимости мы можем использовать Eclipse IDE для разработчиков Java EE для обновления/извлечения кода.

В eclipse выберите «Импортировать банку», а затем выберите нужную банку. Следуйте инструкциям на изображении ниже

С точки зрения программного обеспечения, JAR (архив Java) – это формат файла пакета, который обычно используется для объединения множества файлов классов Java и связанных метаданных и ресурсов (текст, изображения и т. д.) в один файл для распространения прикладного программного обеспечения или библиотек на платформе Java. платформа.

Обычно содержимое любого файла JAR можно просмотреть, распаковав файл JAR с помощью таких инструментов, как 7zip, WinZIP или WinRAR. После успешного извлечения содержимого файла JAR вы получите множество файлов с расширением «.class», и эти файлы классов не имеют удобочитаемого формата.

Поэтому, чтобы преодолеть эту проблему и просмотреть исходный код JAVA, скрытый внутри этих файлов классов, хранящихся внутри файлового контейнера JAR, мы используем инструмент под названием JD-GUI.

JD означает "декомпилятор Java". Это автономная графическая утилита, которая отображает исходные коды Java файлов .class. Вы можете просмотреть реконструированный исходный код с помощью JD-GUI для мгновенного доступа к методам и полям.

И вы получите главный экран, подобный следующему:

Нажмите «Файл» -> «Открыть» и выберите любой файл JAR по вашему выбору:

После открытия JAR-файла вы увидите такое окно:

Теперь нажмите значок +, чтобы развернуть и просмотреть содержимое пакетов.

ПРИМЕЧАНИЕ. Внутри этих пакетов находятся файлы ".class".

Здесь наш пакет называется "bruteCUI", а затем мы получаем список файлов ".class". Теперь щелкните любой файл класса, чтобы просмотреть его содержимое:

Вы можете просмотреть содержимое и любые файлы классов и понять, как именно программа Java была написана разработчиком. Этот метод можно использовать для обратного проектирования или декомпиляции любого файла JAR.

Извлечение содержимого файла JAR

Основная команда с использованием командной строки для извлечения содержимого файла JAR:

Давайте посмотрим на параметры и аргументы этой команды:

  • Параметр x указывает, что вы хотите извлечь файлы из архива JAR.
  • Параметры f указывают, что файл JAR, из которого должны быть извлечены файлы, указывается в командной строке, а не через стандартный ввод.
  • Аргумент jar-файла — это имя файла (или путь и имя файла) файла JAR, из которого нужно извлечь файлы.
  • archived-file(s) — это необязательный аргумент, состоящий из разделенного пробелами списка файлов, которые нужно извлечь из архива. Если этот аргумент отсутствует, инструмент Jar извлечет все файлы из архива.

Как обычно, порядок, в котором параметры x и f появляются в команде, не имеет значения, но между ними не должно быть пробела.

При извлечении файлов инструмент Jar создает копии нужных файлов и записывает их в текущий каталог, воспроизводя структуру каталогов, которую файлы имеют в архиве. Исходный файл JAR остается без изменений.

ВНИМАНИЕ! При извлечении файлов инструмент Jar перезапишет любые существующие файлы с тем же путем, что и у извлеченных файлов.

Предположим, вы хотите извлечь файл класса TicTacToe и файл изображения cross.jpg. Для этого вы можете использовать эту команду:

Эта команда делает две вещи:

  • Он помещает копию TicTacToe.class в текущий каталог.
  • Он создает каталог с именем images, если он еще не существует, и помещает в него копию файла cross.jpg.
  • Исходный JAR-файл TicTacToe остается без изменений.

Таким же образом из JAR-файла можно извлечь сколько угодно файлов. Если в команде не указано, какие файлы следует извлечь, инструмент jar извлекает все файлы из архива. Например, вы можете извлечь все файлы из архива TicTacToe с помощью этой команды:

Скачать

Фото: Tony Wu Photography 🇲🇲, Pexels

Если вы пишете приложения Java, вы, возможно, уже знаете, что для того, чтобы иметь возможность легко использовать ваше приложение на другом компьютере, вам необходимо скомпилировать его исходный код. В Gradle одна из команд, которые делают это, — gradle assemble . После компиляции создается исполняемый файл Jar (например, APPLICATION.jar ).

Если вы откроете этот файл, то увидите, что файл вам непонятен, если только вы не робот. 🤖

Пример содержимого файла Jar.

К сожалению, если вы думаете, что ваш исходный код полностью непрозрачен, вы ошибаетесь. 😟 По сути, файл Jar на самом деле представляет собой простой Zip-файл с другим расширением. 🤡

Если вы переименуете файл в APPLICATION.zip и распакуете архив, вы должны увидеть там несколько папок, содержащих много интересных файлов.

Папки внутри файла архива.

Скорее всего, вы можете найти:

  • фреймворк и его версия: Spring-Boot-Version: 2.4.4
  • список зависимостей вместе с их соответствующей версией
  • и структуру вашего приложения с его файлами в формате *.class

Ой! Вы же не ожидали увидеть эти файлы? По крайней мере, они пока непригодны для использования.

Пример содержимого файла класса.

Если вы посмотрите на тот же файл в своей IDE, некоторые из них, например Intellij IDEA, могут даже декомпилировать этот тип файла для вас! 😮

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

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

Итак, если вы действительно хотите защитить свою интеллектуальную собственность, я предлагаю вам выбрать другой язык и, прежде всего, самостоятельно разместить свое приложение. 🙃

Процедура

Предупреждение: декомпиляция или реверс-инжиниринг части приложения, похоже, попадают в серые зоны, в зависимости от юрисдикции.

Я предлагаю вам сделать это только в том случае, если это ваше приложение или если у вас есть разрешение автора. В противном случае это следует делать только в том случае, если это необходимо для обеспечения совместимости программного обеспечения.

Вы можете просмотреть дополнительные ссылки в конце сообщения для получения дополнительной информации по теме.

JAR (Архив Java) – это формат файла пакета, который обычно используется для объединения множества файлов классов Java и связанных с ними метаданных и ресурсов (текст, изображения и т. д.) в один файл для распространения прикладного программного обеспечения или библиотек на платформе Java.
Проще говоря, файл JAR — это файл, содержащий сжатую версию файлов .class, аудиофайлов, файлов изображений или каталогов. Мы можем представить файл .jar как заархивированный файл (.zip), созданный с помощью программного обеспечения WinZip. Даже программное обеспечение WinZip можно использовать для извлечения содержимого .jar. Таким образом, вы можете использовать их для таких задач, как сжатие данных без потерь, архивирование, распаковка и распаковка архивов.

Давайте посмотрим, как создать файл .jar и соответствующие команды, которые помогут нам работать с файлами .jar

1.1 Создайте файл JAR

Чтобы создать файл .jar, мы можем использовать команду jar cf следующими способами, как описано ниже:

Синтаксис:

Здесь cf означает создание файла. Например, предположив, что наш пакет пакетов доступен в C:\directory, чтобы преобразовать его в файл jar в файл pack.jar, мы можем ввести следующую команду:

<р>1. 2 Просмотр файла JAR

Теперь файл pack.jar создан. Чтобы просмотреть файлы JAR-файла «.jar», мы можем использовать команду как:

Синтаксис:

Здесь tf представляет табличное представление содержимого файла. Например, чтобы просмотреть содержимое нашего файла pack.jar, мы можем дать команду:

Теперь содержимое pack.jar отображается следующим образом:

Здесь class1, class2 и т. д. — это классы в пакете пакетов. Первые две записи означают, что файл манифеста создан и добавлен в pack.jar. Третья запись представляет подкаталог с пакетом имен, а последние два представляют имена файлов в пакете каталогов.

Примечание. Когда мы создаем файлы .jar, он автоматически получает файл манифеста по умолчанию. В архиве может быть только один файл манифеста, и он всегда имеет имя пути.

Этот файл манифеста полезен для указания информации о других упакованных файлах.

1.3 Извлечение файла JAR

Чтобы извлечь файлы из файла .jar, мы можем использовать перечисленные ниже команды:

Здесь xf представляет файлы извлечения из файлов jar. Например, чтобы извлечь содержимое нашего файла pack.jar, мы можем написать:

Это создаст следующие каталоги в C:\

В этом каталоге мы видим class1.class и class2.class.

1.4 Обновление файла JAR

Инструмент Jar предоставляет параметр «u», который можно использовать для обновления содержимого существующего файла JAR путем изменения его манифеста или добавления файлов. Базовая команда для добавления файлов имеет такой формат, как показано ниже:

Синтаксис:

Здесь ‘uf’ представляет обновленный файл jar. Например, чтобы обновить содержимое нашего файла pack.jar, мы можем написать:

1.5 Запуск JAR-файла

Чтобы запустить приложение, упакованное в виде файла JAR (требуется заголовок манифеста Main-class), можно использовать следующую команду, как указано в списке:

Синтаксис:

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

Читайте также: