3 ms·
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, J
by unsoundInput 10y ago
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
- 0x0 10y agoIf 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?