Редактирование файла класса из файла JAR также может быть вызвано исправлением исполняемого файла Java (файлов Jar) без знания исходного кода. Давайте посмотрим, как отредактировать файл класса из файла JAR, используя простой способ исправления исполняемого файла Java.
Методы (метод 1 игнорируется для объяснения в этой статье, поскольку он является обычным)
- Декомпилируйте файл JAR> Импортируйте декомпилированные классы в IDE (Eclipse, NetBeans и т. д.)> Измените исходный код> Перекомпилировать> Перестроить/перепаковать как JAR
- Извлечь классы Java из JAR> Изменить байт-код Java> Проверить> Повторно упаковать файл JAR
- Извлечь Java классы из исполняемого файла> Изменить байт-код Java> Обновить исполняемый файл с помощью измененных классов/файлов с помощью командной строки
Первый метод, упомянутый выше, является хорошим вариантом, если у вас есть исходный код кода и знаком с компиляцией Java, концепциями объектно-ориентированного программирования, но имеет несколько упомянутых ниже сложностей
ДЕКОМПИЛЯЦИЯ И ПЕРЕВОД ПЛАГИНОВ MINECRAFT
- Целевой файл JAR имеет зависимости от других библиотек. Вы должны быть знакомы с этими зависимостями в своем проекте.
- Процесс декомпиляции не является точной наукой, поэтому ожидайте исправления ошибок, прежде чем заставлять его перекомпилировать
Когда мы просто хотим отредактировать несколько строк, перекомпиляция всего проекта без ошибок компиляции – болезненная работа.
Таким образом, метод (1) не является обязательным для использования, давайте также рассмотрим метод (2). Метод (2) быстрее, менее подвержен ошибкам и довольно прост в исполнении.
Метод 2 (извлечение классов Java из исполняемого файла> Изменение байт-кода Java> Обновление исполняемого файла с помощью измененных классов/файлов с помощью команды подсказка)
Шаги высокого уровня:
- Настройка среды
- Используйте JD-GUI, чтобы заглянуть в Файл JAR
- Распакуйте файл JAR
- Измените файл .class с помощью редактора байт-кода Java.
- Повторно упакуйте измененные классы в новый архив файл
- Проверьте его с помощью JD-GUI
1. Настройте среду
Убедитесь, что у вас установлен JDK и путь к классам настроен правильно, для проверки -> Открыть командную строку
На моем компьютере результат выглядит примерно так:
версия java «1.8.0_171» Java ( TM) Среда выполнения SE (сборка 1.8.0_171-b11) 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 25.171-b11, смешанный режим)
2. Используйте JD-GUI для просмотра файла JAR
Я предпочитаю JD-GUI для просмотра файла JAR, вы можете установить JD-GUI по ссылке ниже,
Просматривая файл JAR в нашем примере, мы могли видеть ниже класс в JD-GUI,
3. Распакуйте файл JAR
Создайте новую папку и скопируйте файл JAR в папку. Использование приведенной ниже команды распакует файл jar в папке.
Декомпиляция, изменение и последующая компиляция bukkit/spigot плагинов через IntelliJ IDEA
jar -xf HelloWorld.jar
4. Измените. class с помощью редактора байт-кода Java
Я предпочитаю редактор байт-кода Java редактировать файл .class. Редактор байт-кода Java можно загрузить по ссылке ниже,
В этом примере я собираюсь изменить строку « Привет »на« Добро пожаловать »из файла HelloWorld.class в редакторе байт-кода. Для редактирования перейдите к уважаемому пакету, файлу в JBE.
5. Повторно упакуйте измененные классы в новый архивный файл
Перейдите в папку HelloWorld и введите следующую команду в командной строке CMD, чтобы перепаковать файл JAR.
jar -cvf HelloWorld-Custom. jar *. *
6. Проверьте это с помощью JD-GUI
Теперь вы знаете, как просматривать JAR-файл с помощью JD-GUI. Откройте только что созданный файл HelloWorld-Custom.jar и проверьте файл класса на предмет модификации.
Теперь давайте посмотрим на метод (3), который я предпочитаю,
Метод 3 (Извлечь классы Java из исполняемого файла> Изменить байт-код Java> Обновить исполняемый файл с помощью измененных классов/файлов с помощью командной строки)
В этом методе только шаг 5 зависит от метода (2).
Шаги высокого уровня:
- Настройка среды
- Используйте JD-GUI, чтобы заглянуть в файл JAR
- Распакуйте файл JAR.
- Измените файл .class с помощью редактора байт-кода Java.
- Обновите измененные классы в существующем файле JAR
- Проверьте это с помощью JD-GUI
Выполните все, как в методе (2), за исключением шага 5. После завершения шага 4
5. Обновите измененные классы в существующем файле JAR
Используя следующую команду в командной строке, обновленный файл .class можно заменить существующим файлом JAR. Теперь перейдите в папку, в которой доступен JAR-файл в командной строке, и введите следующую команду.
jar uf jar-file input-file (s)
- Параметр u указывает, что вы хотите обновить существующий файл JAR.
- Параметр f указывает, что файл JAR для обновления указан в командной строке.
- jar-file – это существующий файл JAR, который необходимо обновить.
- input-file (s) – это разделенный пробелами список из одного или нескольких файлов, которые вы хотите добавить в файл JAR.
Любые файлы, уже находящиеся в архиве, имеющие то же имя пути, что и добавляемый файл, будут перезаписаны.
Итак, в нашем примере – я собираюсь предоставить команду ниже.
jar uf -HelloWorld.jar com/talkinfo/HelloWorld.class
Теперь файл Jar будет обновлен новым файлом класса. Для получения подробной информации об обновлении файла jar вы можете обратиться к ссылке ниже:
Итак, мы увидели, как редактировать файл класса из файла JAR. Мы обсудили 3 метода, и метод (3) – это простой способ исправления файла Jar.
Источник: futurei.ru
Как редактировать jar плагины minecraft
КАК СОЗДАТЬ СВОЙ МОД ДЛЯ MINECRAFT? ЛЕГКО! [1.14.2, 1.14.4, 1.15.2, 1.16.1] by MCreator.
Программирование: на java: как открыть jar файл
Декомпиляция и деобфускация модов и плагинов Minecraft
Туториал — Почему не работает Forge — Или почему не открываются .jar файлы
Minecraft for You — E03 — Редактирование jar архива игры и установка модов в него
Программа InClassTranslator для изменения .class файлов Minecraft
С помощью программы InClassTranslator Вы сможете изменять содержимое файлов с расширением .class. В основном в Майнкрафт сфере данную программу используют для перевода плагинов или подстановки своих значений в файлы.
Как пользоваться InClassTranslator:
1. Открываете программу и затем нажимаете на значок папки в левом верхнем углу. Далее выбираете нужный вам .class файл. После этого у вас в левой колонке программы появятся фразы и слова, которые вы сможете изменить.
2. Нажимаете на нужную фразу и у вас сверху она появляется. Теперь в центральном большом окне пишите новую фразу, на которую хотите заменить текущую фразу.
3. После этого нажмите на любую другую фразу в колонке слева и у вас предыдущая фраза загорится зеленым цветом. Теперь нажимаете на значок сохранить слева сверху и ваши изменения сохраняются. Готово!
Установка программы:
1. Скачайте InClassTranslator.
2. Запустите программу.
3. Готово.
С помощью чего открыть .jar плагин minecraft чтобы изменить его?
Качай InteliJ IDE, кидай туда *.class файлы, получишь отностительно читаемый java-код, который потом придется:
1. собрать в проект которым оно является.
2. Восстановить зависимости (обычно они рядом лежат)
3. Восстановить код (переписать места которые декомпилятор представил каряво/как есть, имена переменых, и т.д.)
И да, декомпилятор не может расшифровать то чего нет, например какой-то левый апи 100% превращается в трэш который дописать придется руками.
профит.
Как редактировать плагины?
Срочно нужно русифицировать плагины. Как это сделать?
#5 Semen4ik
#6 splattered
#7 Semen4ik
#8 cbr600rka
#9 Semen4ik
xD
temohn,а адресовалось вообще тебе?!(не удержался,не ответить)
#10 sashaipatew
Советую NOTEPAD++
Там можно перевести в кодировку UTF-8 (Без BOM)
Советую изменять ток слова с англ на рус. а то могут быть ошибки
____________________________________________________________________________________
settings:
enabled: true
interval: 40
prefix: ‘A цвет [информер] и сам префикс
random: Рандомно сообщения будут показывается или нет
messages: само сообщение — ‘ 4мир!’
___________________________________________________________________
На других плагинах тоже самое если пишешь рус. то должна быть кодировка UTF-8 и руссик стоять на сервере.
___________________________________________________________________
Вот например AuthMe плагин регистрации messages_en все сообщения
В не рус. плагине ведите пожалуйста /login [пароль] будет таким ‘cA/login 2пароль Settings -> Plugins и нажмите на кнопку Browse Repositories. внизу окна. В окне поиска просто найдите Minecraft . Вы можете установить его там и перезапустить IntelliJ, чтобы активировать плагин.
Создание Вашего Проекта из Шаблона
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Minecraft в всплывающем меню.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Выберите Sponge plugin для типа вашего проекта, затем нажмите Next .
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
Перейдите в Gradle или Maven секцию, в зависимости от того, что вы выбрали при создании проекта.
Создание плагина с нуля – Gradle
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Gradle в раскрывшемся списке.
- Если вы хотите, выберите любые дополнительные библиотеки и фреймворки, например Kotlin.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
- Windows: File -> Settings -> Build, Execution, Deployment -> Gradle
- Mac: Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
Редактирование Скрипта Сборки
- Откройте build.gradle в навигаторе и добавьте зависимости.
- Отредактируйте build-скрипт, как описано в статье Настройка Gradle .
- Откройте Gradle tab в правой части окна программы и нажмите кнопку обновления (refresh).
- Установка Gradle завершена! Теперь Вы можете приступить к написанию кода Вашего плагина.
Создание плагина с нуля – Maven
Создание Вашего Проекта
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Maven в раскрывающемся списке.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
- Откройте pom.xml в навигаторе.
- Отредактируйте build-скрипт, как описано в статье Настройка Maven .
- Обновите Ваш проект Maven.
- Импортируйте изменения Maven, если появилась подсказка.
Тестирование Вашего Плагина
Следующие инструкции созданы для быстрого способа тестирования вашего плагина, но не являются самым эффективным способом для постоянной разработки.
Для создания .jar файла, используя Gradle:
- Перейдите в View -> Tool Windows -> Gradle
- Под Tasks -> Build , нажмите на jar
- Процесс сборки должен создать jar в buildlibs
Для создания .jar файла, используя Mave:
- Перейдите в View -> «Tool Windows« -> Maven Projects
- В окне Maven Projects , укажите название вашего проекта
- В Plugins , укажите jar
- Сделайте двойной щелчок по jar:jar
- Процесс сборки должен создать jar в taget
Скопируйте ваш jar файл в директорию mods рабочего Sponge сервера, затем перезапустите сервер для проверки.
Для более эффективного процесса разработки, смотрите Отладка плагина для инструкций по запуску как на сервере Sponge, так и плагина внутри IDEA. Этот процесс позволяет вам изменять код плагина без перезапуска сервера.
Импорт Существующего Проекта (Gradle или Maven)
Если вы уже начали работу с вашим проектом и хотите снова импортировать его позже, вам необходимо его импортировать вместо повторного создания внутри вашей IDE:
- Нажмите Файл > Открыть или Импортировать Проект .
- Gradle: Переместитесь к файлу build.gradle и выберите его.
- Maven: Переместитесь к файлу pom.xml и выберите его.
- Убедитесь, что все настройки верны и нажмите Ок .
Git Интеграция
JetBrain предлагает документацию по интеграции Git:
Источник: docs.spongepowered.org