java-deobfuscator / deobfuscator

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

Transformer RadonV2 is not works #908

Closed steelswing closed 2 years ago

steelswing commented 2 years ago

Radon transformer is works. RadonV2 is not works

If you disable 'tryCatch' and 'flowObf' in the RadonV2Config class, then it works.

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:

org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 14: Insufficient maximum stack size.
    at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:296)
    at com.javadeobfuscator.deobfuscator.transformers.special.RadonTransformerV2.transform(RadonTransformerV2.java:547)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:478)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:435)
    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:84)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow.lambda$null$17(SwingWindow.java:1009)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Insufficient maximum stack size.
    at org.objectweb.asm.tree.analysis.Frame.push(Frame.java:273)
    at org.objectweb.asm.tree.analysis.Frame.execute(Frame.java:319)
    at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:188)
    ... 10 more

Error on writing

[Thread-7] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Writing
Error while writing vm/Y
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:452)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.toByteArray(Deobfuscator.java:629)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.lambda$start$9(Deobfuscator.java:458)
    at java.util.HashMap$Values.forEach(Unknown Source)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:456)
    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:84)
    at com.javadeobfuscator.deobfuscator.ui.SwingWindow.lambda$null$17(SwingWindow.java:1009)
    at java.lang.Thread.run(Unknown Source)

image

Janmm14 commented 2 years ago

In the gui you can rightclick transformer to edit config. Will look at preemptively increasing max locals/stack or sth so analyzer doesnt throw.

Janmm14 commented 2 years ago

@steelswing Was something not deobfuscated when you disabled those options? The radon transformers require their deobfconfig to match what was used in the file iirc.

ItzSomebody commented 2 years ago

Closing due to lack of response from OP.