Since Java bytecode is closer (more like) to the source than to the assembly.
In particular, .class files include metadata for class names, method names, fields and parameter types, etc.
All Java decompilers (or .Net) need to do is look at the instructions in each method tera and turn them into the corresponding syntax constructs.
In contrast, native languages ββsuch as C ++ do not contain metadata at all, so the decompiler must restore everything.
SLaks Sep 16 '12 at 20:37 2012-09-16 20:37
source share