java-deobfuscator / deobfuscator

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

Illegal wide instruction #932

Open mrcnpp opened 2 years ago

mrcnpp commented 2 years ago

As requested i opened thi issue i was decompilling a jar file with the gui edition

whit this transformers

allatori.FlowObfuscation
allatori.LightFlowObfuscation
allatori.StringEncryption
allatori.string.StringEncryption
antireleak.Invokedynamic
antireleak.StringEncryption
classguard.Encryption
dasho.FakeException
dasho.FlowObfuscation
dasho.StringEncryption
dasho.TamperObfuscation
dasho.string.StringEncryption
general.ByteArrayString
peephole.ConstantFolder
peephole.DeadCodeRemover
peephole.GotoRearranger
peephole.LabelRearranger
peephole.LdcSwapInvokeSwapPopRemover
peephole.NopRemover
peephole.PeepholeOptimizer
peephole.RedundantGotoRemover
peephole.RedundantTrapRemover
peephole.StackOperationSimplifier
peephole.TrapHandlerMerger
removers.IllegalAnnotationRemover
removers.IllegalSignatureRemover
removers.IllegalTypeAnnotationRemover
removers.IllegalVarargsRemover
removers.LineNumberRemover
removers.LocalVariableRemover
removers.SyntheticBridgeRemover
minecraft.IntermediaryToYarn
minecraft.NotchToIntermediary
minecraft.NotchToSrg
minecraft.SrgToMCP
normalizer.ClassNormalizer
normalizer.DuplicateRenamer
normalizer.EnumNormalizer
normalizer.FieldNormalizer
normalizer.MethodNormalizer
normalizer.PackageNormalizer
normalizer.PackageTruncator
normalizer.SourceFileClassNormalizer
skidsuite2.FakeException
skidsuite2.StringEncryption
smoke.IllegalVariable
smoke.NumberObfuscation
smoke.StringEncryption
special.Binscure
special.BisGuard
special.FlowObfuscation
special.InvalidClassRemover
special.Paramorphism
special.Radon
special.RadonV2
special.Superblaubeere
special.TryCatchFixer
special.UselessArithmetic
special.WrappedLocals
stringer.HideAccessObfuscation
stringer.Invokedynamic
stringer.ReflectionObfuscation
stringer.ResourceEncryption
stringer.StringEncryption
stringer.invokedynamic.Invokedynamic1
stringer.invokedynamic.Invokedynamic2
stringer.v3.Cleanup
stringer.v3.HideAccess
stringer.v3.Invokedynamic
stringer.v3.ResourceEncryption
stringer.v3.StringEncryption
stringer.v3_1.StringEncryption
stringer.v9.StringEncryption
zelix.FlowObfuscation
zelix.ReflectionObfuscation
zelix.StringEncryption
zelix.string.EnhancedStringEncryption
zelix.string.SimpleStringEncryption

image

Deobfuscation failed. Please open a ticket on GitHub and provide the following error:
java.lang.IllegalStateException: Illegal wide instruction type: 87
    at me.coley.cafedude.io.InstructionReader.read(InstructionReader.java:373)
    at me.coley.cafedude.transform.IllegalStrippingTransformer.transform(IllegalStrippingTransformer.java:112)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.loadInput(Deobfuscator.java:291)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.loadInput(Deobfuscator.java:269)
    at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:378)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:577)
    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.base/java.lang.Thread.run(Thread.java:833)

First Thank to you for your work second i hope that the information i provided you are enough

Janmm14 commented 2 years ago

Regarding usage of the deobfuscator:

You should NEVER (!!!!!!) select all transformers. The result will not be usable for anything.

Only select the transformer for the specific obfuscation you know your input has. To find out what your input has, you can tick the "detect" checkbox. It will make the deobfuscator not deobfuscate and instead only prints what obfuscation it was able to find, so you can select the first suggested transformer.


Your specific error: A class file could not be fully read as class file, it might be invalid. There seems to be a problem that its not correctly catching and continuing when this error occurred.

Problems regarding your transformer choice would occurr only later on.

mrcnpp commented 2 years ago

Thanks for the indication . Maybe i miss that in the read.me

Il mar 16 ago 2022, 19:36 Janmm14 @.***> ha scritto:

Regarding usage of the deobfuscator:

You should NEVER (!!!!!!) select all transformers. The result will not be usable for anything.

Only select the transformer for the specific obfuscation you know your input has. To find out what your input has, you can tick the "detect" checkbox. It will make the deobfuscator not deobfuscate and instead only prints what obfuscation it was able to find, so you can select the first suggested transformer.

Your specific error: A class file could not be fully read as class file, it might be invalid. There seems to be a problem that its not correctly catching and continuing when this error occurred.

— Reply to this email directly, view it on GitHub https://github.com/java-deobfuscator/deobfuscator/issues/932#issuecomment-1216946493, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5MV32N7JEG6VQZPVKKTKDVZPGRJANCNFSM56WF7REA . You are receiving this because you authored the thread.Message ID: @.***>

Janmm14 commented 2 years ago

the wiki has usage information