java-deobfuscator / deobfuscator

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

NullPointerException when using stringer.invokedynamics #904

Closed DenaryDev closed 2 years ago

DenaryDev commented 2 years ago

I am getting a NullPointerException when trying to use stringer.invokedynamic

Stacktrace:

[Thread-14] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading classpath
[Thread-14] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading input
[Thread-14] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Computing callers
[Thread-14] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Transforming
[Thread-14] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Running com.javadeobfuscator.deobfuscator.transformers.stringer.InvokedynamicTransformer
[Stringer] [InvokedynamicTransformer] Starting
[Stringer] [InvokedynamicTransformer] Finding invokedynamic instructions
[Stringer] [InvokedynamicTransformer] Found 168 invokedynamic instructions
[Stringer] [InvokedynamicTransformer] Inlining invokedynamic

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.NullPointerException
    at com.javadeobfuscator.deobfuscator.transformers.stringer.InvokedynamicTransformer.lambda$null$3(InvokedynamicTransformer.java:140)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at com.javadeobfuscator.deobfuscator.transformers.stringer.InvokedynamicTransformer.lambda$inlineInvokeDynamic$4(InvokedynamicTransformer.java:132)
    at java.util.HashMap$Values.forEach(HashMap.java:982)
    at com.javadeobfuscator.deobfuscator.transformers.stringer.InvokedynamicTransformer.inlineInvokeDynamic(InvokedynamicTransformer.java:131)
    at com.javadeobfuscator.deobfuscator.transformers.stringer.InvokedynamicTransformer.transform(InvokedynamicTransformer.java:58)
    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(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    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(Thread.java:750)
Janmm14 commented 2 years ago

Did you add all libraries (including rt.jar) to the path?

DenaryDev commented 2 years ago

The mod that I need to deobfuscate is built on java 17, how can I add java 17 libraries to the path? .jmod files cannot be added to path

All other libraries (that I found) I added

Janmm14 commented 2 years ago

The mod that I need to deobfuscate is built on java 17, how can I add java 17 libraries to the path? .jmod files cannot be added to path

All other libraries (that I found) I added

you could try just adding the java 8 rt.jar, if that doesn't work, give this a try: https://github.com/Storyyeller/jrt-extractor

ItzSomebody commented 2 years ago

Closing due to lack of response from OP.