Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   .Class (https://forum.zone-game.info/showthread.php?t=29744)

Alex92 26.06.2013 09:00

.Class
 
Ребят может кто подсказать, у меня есть файл ххх.CLASS открываю его через декомпилятор но изменяю что нужно но сохраняется он в формате .Java а как скомпилировать его назад в .CLASS ?

elastic 26.06.2013 09:03

Re: .Class
 
Исходники нужны.

Zeratyl 26.06.2013 09:38

Re: .Class
 
Месье может взять схожие исходники ребеллионовской сборки, сделать замену файла на декомпилированый, изменить все, что нужно, скомпилировать все скопом, а после - заменить файл из скомпилированного jar'a в родной. Особое внимание уделить импортам, в случае чего - написать классы-заглушки. Обязательно погонять тесты. Если логгер нестандартный - чините (опять же, смотреть импорты и прицепленные библиотеки), если слишком сложно, но хотите эстетики - используйте System.out.print("text");

В случае, если у вас не ребеллион, а лыжа, любые комментарии излишни.

Mangol 26.06.2013 18:41

Re: .Class
 
Можно и без исходников скомпилировать обратно имея ядро сервера библиотеки и тд. и тп.

SoniPro 26.06.2013 20:17

Re: .Class
 
Достаточно самого ядра, класса, cmd, и jdk. Команду не помню. Через кмд командой javac.

Zeratyl 26.06.2013 21:02

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

linliss 26.06.2013 22:41

Re: .Class
 
Цитата:

Сообщение от Zeratyl (Сообщение 307666)
Т.е. если я скину сейчас скомпилированное приложение и попрошу месье изменить мне класс без исходников, то одного приложения будет достаточно?

да, если не использовали обфускаторов, но и это поправимо... все зависит от того насколько большой класс...

Zeratyl 26.06.2013 23:20

Re: .Class
 
Несколько невалидных опкодов сделают свое черное дело, месье. А лишние инструкции в байткоде, совершенно не препятствующие выволнению в JVM, будут люто, бешено выбивать сотни ошибок при декомпиляции. Потрудившись, вы получите "исходный" код, но вот обратно он уже не скомпилируется. Если класс небольшой - проще понять как работает и переписать. Если же нет - что же, жизнь жестока.

Заметьте, джентльмены, это даже не обфускация, как, например, в CatsByteGuard, а просто нюансы, которые нужно учитывать.

linliss 26.06.2013 23:35

Re: .Class
 
Цитата:

Сообщение от Zeratyl (Сообщение 307690)
Несколько невалидных опкодов сделают свое черное дело, месье. А лишние инструкции в байткоде, совершенно не препятствующие выволнению в JVM, будут люто, бешено выбивать сотни ошибок при декомпиляции. Потрудившись, вы получите "исходный" код, но вот обратно он уже не скомпилируется. Если класс небольшой - проще понять как работает и переписать. Если же нет - что же, жизнь жестока.

Заметьте, джентльмены, это даже не обфускация, как, например, в CatsByteGuard, а просто нюансы, которые нужно учитывать.

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

SoniPro 27.06.2013 07:03

Re: .Class
 
cd путь до папки с ядром и классом
javac -classpath ядро.jar -Xlint:unchecked класс.java


Текущее время: 00:47. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot