How to edit java class file

Содержание
  1. Как редактировать файл класса из файла JAR?
  2. Методы (метод 1 игнорируется для объяснения в этой статье, поскольку он является обычным)
  3. Метод 2 (извлечение классов Java из исполняемого файла> Изменение байт-кода Java> Обновление исполняемого файла с помощью измененных классов/файлов с помощью команды подсказка)
  4. Шаги высокого уровня:
  5. 1. Настройте среду
  6. 2. Используйте JD-GUI для просмотра файла JAR
  7. 3. Распакуйте файл JAR
  8. 4. Измените. class с помощью редактора байт-кода Java
  9. 5. Повторно упакуйте измененные классы в новый архивный файл
  10. 6. Проверьте это с помощью JD-GUI
  11. Метод 3 (Извлечь классы Java из исполняемого файла> Изменить байт-код Java> Обновить исполняемый файл с помощью измененных классов/файлов с помощью командной строки)
  12. Шаги высокого уровня:
  13. 5. Обновите измененные классы в существующем файле JAR
  14. Заключение
  15. Class File Editor in Java
  16. Features of Java Class File Editor
  17. Using Java Class File Editor to Edit a Compiled Java Class

Как редактировать файл класса из файла JAR?

Редактирование файла класса из файла JAR также может быть вызвано исправлением исполняемого файла Java (файлов Jar) без знания исходного кода. Давайте посмотрим, как отредактировать файл класса из файла JAR, используя простой способ исправления исполняемого файла Java.

Методы (метод 1 игнорируется для объяснения в этой статье, поскольку он является обычным)

  1. Декомпилируйте файл JAR> Импортируйте декомпилированные классы в IDE (Eclipse, NetBeans и т. д.)> Измените исходный код> Перекомпилировать> Перестроить/перепаковать как JAR
  2. Извлечь классы Java из JAR> Изменить байт-код Java> Проверить> Повторно упаковать файл JAR
  3. Извлечь Java классы из исполняемого файла> Изменить байт-код Java> Обновить исполняемый файл с помощью измененных классов/файлов с помощью командной строки

Первый метод, упомянутый выше, является хорошим вариантом, если у вас есть исходный код кода и знаком с компиляцией Java, концепциями объектно-ориентированного программирования, но имеет несколько упомянутых ниже сложностей

  1. Целевой файл JAR имеет зависимости от других библиотек. Вы должны быть знакомы с этими зависимостями в своем проекте.
  2. Процесс декомпиляции не является точной наукой, поэтому ожидайте исправления ошибок, прежде чем заставлять его перекомпилировать
Читайте также:  Php массив переменных функции

Когда мы просто хотим отредактировать несколько строк, перекомпиляция всего проекта без ошибок компиляции – болезненная работа.

Таким образом, метод (1) не является обязательным для использования, давайте также рассмотрим метод (2). Метод (2) быстрее, менее подвержен ошибкам и довольно прост в исполнении.

Метод 2 (извлечение классов Java из исполняемого файла> Изменение байт-кода Java> Обновление исполняемого файла с помощью измененных классов/файлов с помощью команды подсказка)

Шаги высокого уровня:

  1. Настройка среды
  2. Используйте JD-GUI, чтобы заглянуть в Файл JAR
  3. Распакуйте файл JAR
  4. Измените файл .class с помощью редактора байт-кода Java.
  5. Повторно упакуйте измененные классы в новый архив файл
  6. Проверьте его с помощью 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 в папке.

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).

Шаги высокого уровня:

  1. Настройка среды
  2. Используйте JD-GUI, чтобы заглянуть в файл JAR
  3. Распакуйте файл JAR.
  4. Измените файл .class с помощью редактора байт-кода Java.
  5. Обновите измененные классы в существующем файле JAR
  6. Проверьте это с помощью 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.

Источник

Class File Editor in Java

Class File Editor in Java

  1. Features of Java Class File Editor
  2. Using Java Class File Editor to Edit a Compiled Java Class

In this article, we will discuss the Java Class File Editor, a tool created in Java used to edit Java compiled classes. We can decompile and see the Java classes once they are created, but we need tools like the Java Class File Editor to modify them.

Features of Java Class File Editor

  • Easy to use Interface built using Java Swing
  • Allows modifications of various parts of a class file, like methods, strings, constants, etc.
  • Consistency Checks

Using Java Class File Editor to Edit a Compiled Java Class

Download Java Class File Editor from https://sourceforge.net/projects/classeditor/files/
Extract the compressed file, and open the JAR file name ce.jar shown below.

Class File Editor in Java - Step 2

If we are unable to open the file, we can open the command line/terminal and use the following command:

Once the editor is opened, we open a Java class file using the File > Open menu item and choose the explorer class file.
We will use the following code in the class file.
public class ExampleClass1   private static final String METHOD_NAME1 = "exampleMethod1";  private static final String METHOD_NAME2 = "exampleMethod2";   public static void main(String[] args)   int abc = 200;  System.out.println(abc);  exampleMethod2();   >   static void exampleMethod2()   System.out.println("This is just a method");  >  > 
After the editor opens the file, we turn on the Modify Mode in the top-right corner; this mode is off by default, as shown in the image below. The button will turn blue if it is on and green if it is off.

Class File Editor in Java - Step 5

After the modification is on, we can modify certain aspects of the class by going to different editor sections.

The General section of the editor shows the class name and its parent class. We can see and edit the interfaces if any are in the class. Class Access Modifiers are also there, which we can change if we want to.
Class File Editor in Java - Step 6
The next section is the Constant Pool section, which displays all the editor’s constants in the class. Here we can change the type of the constant and its value. We can add new constants or delete an existing one.
Class File Editor in Java - Step 6
The Fields section of the editor shows the fields with their access modifiers which we can modify.
Class File Editor in Java - Step 6
The last section of the editor part is the Methods section, where all the class methods are listed with their name, access modifiers, and return types that are all editable, and we can change them.
Class File Editor in Java - Step 2

After all the modifications, we save the class file using the File > Save menu item. We can also export all the items like the name of fields, constants, methods, and their values as an XML file using the File > Export to XML menu item.

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

Источник

Оцените статью