Size: a a a

2021 March 09

N

Nick in pro.jvm
Константин Овечкин
народ, подскажите, насколько выполнима задача по декомпиляции jar, внесение правок и обратной компиляции. Конкретно затык с обратной компиляцией, кто-нибудь заморачивался?
никакой магии, кроме везения не потребуется))) а везение надо чтобы декомпилер все корректно декомпильнул - далеко не всегда это случается. Ну а дальше  фиксите то что криво декомпильнулось, декомпилите сами то что не декомпильнулось вообще, ну а дальше уже все банально
источник

KT

Kirill Timofeev in pro.jvm
Константин Овечкин
народ, подскажите, насколько выполнима задача по декомпиляции jar, внесение правок и обратной компиляции. Конкретно затык с обратной компиляцией, кто-нибудь заморачивался?
IMHO, проще и надёжнее не компилировать декомпилированное, а изменить только нужные классы и подложить их рядом с остальными
изменить их можно, например, используя https://bytebuddy.net/
источник

КО

Константин Овечкин... in pro.jvm
Denis Chikanov
А проблема-то в чём? Декомпилированный код - такой же код, как и любой другой джавовый.
Проблема в том, что при обратной компиляции, получаю много ошибок. Есть ли вариант не править все руками?
источник

KT

Kirill Timofeev in pro.jvm
Константин Овечкин
Проблема в том, что при обратной компиляции, получаю много ошибок. Есть ли вариант не править все руками?
можно написать JVM агента, например
который будет править нужные тебе части в рантайме при загрузке классов
идея в том, что ты не руками правишь байткод, а пишешь код, который тебе его подправит
источник

A

Artem in pro.jvm
Константин Овечкин
Проблема в том, что при обратной компиляции, получаю много ошибок. Есть ли вариант не править все руками?
В эру open source что-то декомпилить - грех )) неужели нет сорсов?
источник

КО

Константин Овечкин... in pro.jvm
Artem
В эру open source что-то декомпилить - грех )) неужели нет сорсов?
это квм клиент от aten
источник

КО

Константин Овечкин... in pro.jvm
Kirill Timofeev
можно написать JVM агента, например
который будет править нужные тебе части в рантайме при загрузке классов
идея в том, что ты не руками правишь байткод, а пишешь код, который тебе его подправит
спасибо, попробую разобраться)
источник

WT

Waldemar Tsiamruk in pro.jvm
У спринга и у EA есть либа которая поможет
источник

WT

Waldemar Tsiamruk in pro.jvm
И потом при запуске просто javagent:/path/to/jar/withagent флаг
источник

П

Павел in pro.jvm
Просто вылитает идея и херит все что было не закоммичено. Что делать? Ехать в Питер кричать в окно джетбрейнса?
источник

E

Egor Pavlov in pro.jvm
памяти идее накинуть
источник

E

Egor Pavlov in pro.jvm
или репак с торентов хороший скачать:)
источник

KT

Kirill Timofeev in pro.jvm
Павел
Просто вылитает идея и херит все что было не закоммичено. Что делать? Ехать в Питер кричать в окно джетбрейнса?
в окно кричать не получится, вокруг офиса забор поставили :)

расскажи какая ось, какая версия самой идейки?
при каких действиях такое происходит?
источник

П

Павел in pro.jvm
Не, это просто от боли. Посл раз такое было года 4 назат
источник

П

Павел in pro.jvm
Просто писал код, хз вроде автокомплит какой-то выбрал она зависла и вылетела.
источник

KT

Kirill Timofeev in pro.jvm
Павел
Просто писал код, хз вроде автокомплит какой-то выбрал она зависла и вылетела.
и local history потёрлась?
источник

П

Павел in pro.jvm
Kirill Timofeev
и local history потёрлась?
Да, в этом вся боль
источник

П

Павел in pro.jvm
Остались только новые классы два штуки
источник

KT

Kirill Timofeev in pro.jvm
Павел
Да, в этом вся боль
если остался кордамп, то можешь создать тикет в YT и добавить его туда
на него посмотрят и пофиксят
источник

П

Павел in pro.jvm
Хорошо
источник