On Monday, 17 December 2012 at 09:37:48 UTC, Walter Bright wrote:
On 12/17/2012 12:55 AM, Paulo Pinto wrote:
Assembly is no different than reversing any other type of bytecode:

This is simply not true for Java bytecode.

About the only thing you lose with Java bytecode are local variable names. Full type information and the variables themselves are intact.


It depends on compiler switch you use. You can strip name, but it obviously impact reflection capabilities.

Also, Java is quite easy to decompile due to the very simple structure of the language. Even if in some case, optimization can confuse the decompiler.

Try on other JVM languages like closure, scale or groovy. The produced code can hardly be understood except by a specialist.

Granted, this is still easier than assembly, but you neglected the fact that java is rather simple, where D isn't. It is unlikely that an optimized D bytecode can ever be decompiled in a satisfying way.

Reply via email to