java-deobfuscator / deobfuscator

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

java.lang.IllegalArgumentException: entry name too long #903

Closed momonunu closed 2 years ago

momonunu commented 2 years ago

I tried using only com.javadeobfuscator.deobfuscator.transformers.normalizer.SourceFileClassNormalizer. on a file then this error came up.

[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading classpath
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading input
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Computing callers
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Transforming
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Running com.javadeobfuscator.deobfuscator.transformers.normalizer.SourceFileClassNormalizer
[SourceFileClassNormalizer] Recovered 26 source filenames
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Writing
Error: java/lang/Exception could not be found while writing JsonUtils. Using COMPUTE_MAXS

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.IllegalArgumentException: entry name too long
    at java.util.zip.ZipEntry.<init>(ZipEntry.java:103)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.lambda$start$9(Deobfuscator.java:460)
    at java.util.HashMap$Values.forEach(HashMap.java:983)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:456)
    at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.run(DeobfuscatorMain.java:106)
    at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.run(DeobfuscatorMain.java:99)
    at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.main(DeobfuscatorMain.java:36)

i think it may have something to do with this:

Screenshot 2022-05-17 at 07 09 54

or this:

Screenshot 2022-05-17 at 07 10 30
Janmm14 commented 2 years ago

Are you sure that the SourceFile attribute of the classes is original? It might also be that it got changed to rubbish or that its used as a key in the deobfuscation procress.

It is also possible if not all classes are in this deeply nested folder that the classes in the deeply nested folder are actually rubbish classes only meant to break decompilers / this deobfuscator.

momonunu commented 2 years ago

I tried deleting this nested folder, but it didnt work after that because some classes could not be found. Is there a way to just ignore the errors when classes are not found, because I just want to take a look at the src code.

Janmm14 commented 2 years ago

The SourceFileClassTransformer is a simple class renamer, it won't help you see the source unobfuscated.

ItzSomebody commented 2 years ago

Closing due to lack of response from OP.