Re:Impossible Java
by unsoundInput on Tuesday March 28, 2017 @01:18PM
(#13978502)
There are two valid ways for a disassembler mitigate this:
a) decompile to a language in which the bytecode can be expressed (in a concise / expresive manner, Java would always be a "possible" target because of turing completeness) or b) accommodate for the fact that there could be signature collisions in java, e.g. by prefixing/suffixing the method name
[ Parent
| on HN ]
If you change the method name you end up with code that acts differently, just imagine something that does something like this pseudocode:
if (!new Exception().getStackTrace().getSha1sum().startsWith("0000")) alert("hello decompiler")
Your comment about java and turing completeness doesn't make sense unless you want the decompiler to basically output a java implementation of a JVM?