Декомпиляция Java на примере кода проекта l2jserver

Опубликовано August@Karro - ср, 10/07/2020 - 00:12

По разным причинам состояние l2jserver имеет разный ход в миру. К примеру целенаправленная продажа проекта,разделяя его функциональность на публичный сборки и коммерческие,в лице пары балбесов из Сан-Петербурга. Де компиляция прежде всего порой необходима для личных нужд. К примеру убрать копирайтеры так называемых создателей и копипастеров. А также при необходимости работа над классами ядра и его дополнение.

***

Опираться будем на Linux софт... Работаем с программой java decompiler free.

http://java.decompiler.free.fr/

JD-Core and JD-GUI are written in C++. This allows an extremely fast decompilation and a display. JD-Core does not require the Java runtime environment for its functioning, therefore no special setup is required.

JD-Core works with most current compilers including the following:

jdk1.1.8 jdk1.3.1 jdk1.4.2 jdk1.5.0 jdk1.6.0 jdk1.7.0

jikes-1.22 harmony-jdk-r533500 Eclipse Java Compiler v_677_R32x, 3.2.1 release jrockit90_150_06 JD-Core supports the following new features of Java 5: Annotations Generics Type "enum"

JD-GUI supports Drag and Drop. JD-GUI supports JAR files. JD-GUI displays color coded Java source code. JD-GUI allows you to browse the "class" files hierarchy. JD-GUI displays "log" files, and allow you to decompile "class" files appearing in Java stack traces. JD-Core, JD-GUI and JD-Eclipse use the excellent cross-platform wxWidgets toolkit.

***

- Открываем jar архив с нужным нам классом. - Декомпилируем нужный нам класс в исходные коды (java). - Собираем обратно используя классы ядра.

Простой пример...

$ javac -classpath l2jserver.jar -Xlint:unchecked Имя__класса.java

***

Заметка не затрагивает, дополнительные принципы de или com Java, а лишь затрагивает цель просмотра внутреннего кода и знакомства с ним.


 

Последние материалы