Yes, reverse engineering requires enormous time and knowledge, I know that is not magic box that will produce commented code .
My point isn't that it won't provide the commented code, more that it won't provide the original code at all or anything that looks like it, at least not necessarily.
True enough. A lot of things are heavily optimized by the compiler such that you are quite unlikely to get something like the original code. You might lose exception catching in cases where there's no way an exception could be thrown for instance. Who knows if it would decompile classes back to anything resembling their original structure (I suspect that this is at least possible...). A decompiler probably wouldn't be able to split it back into meaningful compilation units either, except maybe for class files.
Of course, as you said without debugging symbols it's not going to know variable or function names, so it would be a lot of fun to go through and figure out what int aa345 means in the 29 places it shows up. And I'm guessing DF has a pretty huge code base by this point...
As far as it being illegal, I think that's still a bit of a gray area but I don't think it is strictly illegal. The Wine project at least shows that generating functionally identical code isn't illegal, as long as you don't steal the original code, and since a decompiler won't give you the original code it probably would be fine.
Still a hopeless cause though. Decompiling DF might make it easier to guess how some things work internally, but that would probably be about it.