Если у вас также нет исходного кода (в JAR или отдельно), тогда лучшее, что вы можете сделать, - это использовать декомпилятор Java.В зависимости от того, как код был скомпилирован в первую очередь, это может генерировать исходный код, который значительно отличается от того, что написал первоначальный автор (хотя, конечно, функционально идентичен).Например, некоторые параметры оптимизатора могут привести к перезаписи циклов и удалению локальных переменных.Некоторые параметры отладки могут привести к удалению имен локальных переменных, поэтому декомпилятору придется придумывать (бессмысленные) имена для них и т. Д.
Я бы также спросил, является ли то, что вы хотите сделать, допустимым.Как правило, если проект лицензирован для модификации, его исходный код будет доступен, и вам не нужно будет делать то, что вы предлагаете.