Lilac is a tool suite, which contains an assembler and a disassembler for the JVM (Java Virtual Machine) bytecode.
The assembler takes textual representations of Java classes, written in an assembler-like syntax, and converts them to binary Java class files, which can be loaded into JVM. The disassembler takes binary Java class files and creates out of them assembler files suitable for the assembler.
In general (except for some very rare cases) Lilac tools allow a perfect round-trip...