#java #jar #декомпиляция
Есть JAR файл. Необходимо декомпилировать один из его классов, отредактировать одно значение и закомпилировать обратно.
Ответы
Ответ 1
Если хотите сделать это одноразово, то попробуйте JAD. Но учтите, что декомпиляторы не всегда могут получить исходник из .class-файла. Предположим, вы сумели его декомпилировать верно. После этого, его надо собрать обратно. Чтобы это сделать, надо воспользоваться компилятором. javac -cp исходный.jar:библиотеки.jar исправленный.класс.java (если под виндой, то библиотеки надо разделять точкой с запятой вместо двоеточия) Ну а потом запаковать с помощью утилиты jar или какого-нибудь winrar Если JAD не выдаёт плохой исходник, то можно попробовать другие варианты декомпиляторов. В худшем случае, вам придётся после декомпиляции разбираться в байткоде и руками править неверно декомпилированный код. UPD Также есть возможность вскрыть .class-файл и править его с помощью Apache BCEL. С его помощь можно подгрузить класс, модифицировать его, а потом обратно записать. Правда Apache BCEL - программное средство, а не тула, так что вам придётся написать программу, которая бы патчила класс нужным образом.
Комментариев нет:
Отправить комментарий