Compilation strategy

deadalnix deadalnix at gmail.com
Mon Dec 17 12:49:18 PST 2012


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.


More information about the Digitalmars-d mailing list