Bytecode warm – еще один Java-декомпилятор.

Зачем?

Нам много приходится заниматься реверсинжинирингом Java-кода. При всём многообразии существующих декомпиляторов ни один не даёт идеального результата, то есть исходников, которые после повторной компиляции работают так же, как оригинал. Для достижения идеального результата нужно применять несколько декомпиляторов, на их вывод наложить дамп байткода и сделать merge.

Поэтому не осталось ничего другого, как писать свой продукт.

Пока наш декомпилятор не является лучшим. Но он живой, мы реально пользуемся им и постоянно улучшаем.

Возможности

Декомпилятор понимает все конструкции Java до версии 7 включительно. Конструкции Java 8 он не понимает и печатает их как они скомпилированы, убирая соответствующий synthax sugar. 

Недостатки

Они есть (как без них?). Продукт, во-первых, сыроват, работает медленно и ест много памяти. Во-вторых, декомпилированный код может содержать ошибки.

Но мы сделаем его лучшим.