Как извлечь классы из файла .jar? - PullRequest
10 голосов
/ 01 февраля 2012

У меня есть файл .jar. Я попытался выполнить команду jar xf my.jar , которая ничего не дала. Я пытался использовать JD GUI, но он дал мне следующее сообщение: Неверный входной файл '/home/hey/Desktop/my.jar'.

Означает ли это, что я не могу извлечь классы из этого файла .jar?

Ответы [ 5 ]

13 голосов
/ 01 февраля 2012

Если вы хотите извлечь файл из файла Jar, используйте следующую команду:

jar xf jar-filename archived-files

x* 1010опция * указывает, что мы хотим извлечь файлы, опция f указывает из файла jar , jar-filename - это имя файла файла jar дляИзвлечь и archived-files - файлы для извлечения.Мы также можем извлечь все файлы, просто не указав, какие файлы нужно извлечь:

jar xf project.jar Примечание: Если он недоступен, делайте так, как сказал @Legend, Открывайте с помощью WinRaR проверяйте, правильная ли это .jar или .zip файл.Если он не открывается с помощью winrar, возможно, проблема в .jar/.zip.

9 голосов
/ 01 февраля 2012

Вы можете открыть файл jar с помощью winrar, это покажет все файлы классов внутри, оттуда вы можете перетащить их все в JD-GUI и декомпилировать их все.

5 голосов
/ 08 ноября 2016

Как вы создали свой файл .jar?

Я только что использовал Dex2Jar на MAC OSX примерно так -

sudo sh ~/Downloads/dex2jar-2.0/d2j-dex2jar.sh ~/mobile/pjr.mob.android/obj/Debug/android/bin/classes.dex --force

, и у получающегося файла были проблемы с разрешениями, поэтому, когда я пошелчтобы открыть его с помощью графического интерфейса JD, он выдал "Неверный входной загрузчик файлов:" ошибка, о которой вы упоминали выше.

Если вы выполните -

sudo chmod + xr ~ / Downloads/dex2jar-2.0/classes-dex2jar.jar

После этого вы сможете открыть его в графическом интерфейсе JD.

5 голосов
/ 03 октября 2016

для пользователей Linux

unzip your.jar
1 голос
/ 11 февраля 2018

Ответ WickedW правильный!

sudo chmod +xr *.jar

, тогда вы можете открыть банку с помощью jd-gui

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...