Декомпилируйте файлы.class в исходный код.java, используя библиотеки Java

Я работаю над проектом Java, который должен декомпилировать файл.class в исходный код, я нашел много способов, таких как декомпилятор JAD и метод 'javap -p'..., но я думаю, что эти методы не могут быть выполнены программно (скажите, пожалуйста, если можете), есть ли способ сделать это программно, было бы полезно, если бы вы показали мне какие-либо библиотеки.

1 ответ

Решение

Procyon - это декомпилятор Java, написанный на Java, и его можно вызывать непосредственно из кода Java. Например:

final PrintWriter writer = new PrintWriter(System.out);

try {
    com.strobel.decompiler.Decompiler.decompile(
        "W:\\Hello.class",
        new com.strobel.decompiler.PlainTextOutput(writer)
    );
}
finally {
    writer.flush();
}

Также есть decompile() перегрузка, которая принимает DecompilerSettings экземпляр, который можно использовать для переключения определенных функций и предоставления подсказкам декомпилятора о том, как разрешать зависимости классов. Не стесняйтесь обращаться ко мне на BitBucket с любыми вопросами.

Другие вопросы по тегам