java-deobfuscator / deobfuscator

The real deal
https://javadeobfuscator.com
Apache License 2.0
1.57k stars 292 forks source link

Bug: org.objectweb.asm.tree.analysis.AnalyzerException: Execution can fall off the end of the code #711

Open fatrolls opened 3 years ago

fatrolls commented 3 years ago

I'm 90% sure this is minecraft related class files but all the minecraft transformers say Obfuscated Minecraft jar not detected

I know I should have posted this issue in Deobfuscator GUI repo but to late now, maybe it runs the deobfuscator.jar I got that too anyways i dont know.

Ran it against this file: http://www.mediafire.com/file/n7d38rcj6dmcuu3/encryptedFolder.zip/file

I used Deobfuscator GUI v3.3 and Deobfuscator v1.5.2

I got this from the general.peephole.PeepholeOptimizer transformer.

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
org.objectweb.asm.tree.analysis.AnalyzerException: Execution can fall off the end of the code
    at org.objectweb.asm.tree.analysis.Analyzer.findSubroutine(Analyzer.java:322)
    at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:138)
    at com.javadeobfuscator.deobfuscator.transformers.general.peephole.DeadCodeRemover.transform(DeadCodeRemover.java:35)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.transformers.general.peephole.PeepholeOptimizer.transform(PeepholeOptimizer.java:37)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)

When I removed the general.peephole.PeepholeOptimizer

probably from the general.peephole.RedundantGotoRemover

I got this NullPointerException

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.NullPointerException
    at com.javadeobfuscator.deobfuscator.transformers.general.peephole.RedundantGotoRemover.transform(RedundantGotoRemover.java:30)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)

When removing the general.peephole.RedundantGotoRemover transformer I get this. From com.javadeobfuscator.deobfuscator.Deobfuscator - Writing

java.lang.NullPointerException
    at org.objectweb.asm.Frame.merge(Frame.java:1171)
    at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1610)
    at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1546)
    at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:769)
    at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:649)
    at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:465)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.toByteArray(Deobfuscator.java:557)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.lambda$9(Deobfuscator.java:390)
    at java.util.HashMap$Values.forEach(Unknown Source)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:388)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)

Also got from skidsuite2.StringEncryptionTransformer

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.NullPointerException
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:349)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.execute(MethodAnalyzer.java:1036)
    at com.javadeobfuscator.deobfuscator.analyzer.MethodAnalyzer.analyze(MethodAnalyzer.java:277)
    at com.javadeobfuscator.deobfuscator.transformers.skidsuite2.StringEncryptionTransformer.lambda$1(StringEncryptionTransformer.java:55)
    at java.util.ArrayList.forEach(Unknown Source)
    at com.javadeobfuscator.deobfuscator.transformers.skidsuite2.StringEncryptionTransformer.lambda$0(StringEncryptionTransformer.java:54)
    at java.util.HashMap$Values.forEach(Unknown Source)
    at com.javadeobfuscator.deobfuscator.transformers.skidsuite2.StringEncryptionTransformer.transform(StringEncryptionTransformer.java:52)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)

Running special.ParamorphismTransformer

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.RuntimeException: org.objectweb.asm.tree.analysis.AnalyzerException: Execution can fall off the end of the code
    at com.javadeobfuscator.deobfuscator.transformers.special.ParamorphismTransformer.transform(ParamorphismTransformer.java:241)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.objectweb.asm.tree.analysis.AnalyzerException: Execution can fall off the end of the code
    at org.objectweb.asm.tree.analysis.Analyzer.findSubroutine(Analyzer.java:322)
    at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:138)
    at com.javadeobfuscator.deobfuscator.transformers.special.ParamorphismTransformer.transform(ParamorphismTransformer.java:238)
    ... 9 more

special.RadonTransformerV2

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.NullPointerException
    at com.javadeobfuscator.deobfuscator.transformers.special.RadonTransformerV2.transform(RadonTransformerV2.java:198)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:410)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.javadeobfuscator.deobfuscator.ui.wrap.Deobfuscator.run(Deobfuscator.java:74)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow$15$1.run(SwingWindow.java:812)
    at java.lang.Thread.run(Unknown Source)
Janmm14 commented 3 years ago

the gui does indeed run this deobfuscator, so you got it in the right place.

the minecraft transformers are meant for obfuscated complete minecraft client jars and not for just minecraft-related jars.

fatrolls commented 3 years ago

Thanks, hope these errors will help the product out in some way.. some of those errors are probably because I used the transformers in the wrong orders I learned about that later in the commonerrors folder. But yeah transformers should probably give u back 0 found instead of crashing and not allowing other transformers to run.

ItzSomebody commented 3 years ago

Is this still an issue? I or someone else could try looking into this if this is still a persisting issue.