java-deobfuscator / deobfuscator

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

HideAccessTransformator #913

Closed MrKaratio1337 closed 2 years ago

MrKaratio1337 commented 2 years ago

Hi I have an one problem?

How to fix this error when i use HideAccessTransformator

Error:

Deobfuscation failed. Please open a ticket on GitHub and provide the following error: java.lang.NullPointerException at com.javadeobfuscator.javavm.mirrors.JavaField.getOop(JavaField.java:105) at com.javadeobfuscator.javavm.nativeimpls.java_lang_Class.lambda$registerNatives$21(java_lang_Class.java:349) at com.javadeobfuscator.javavm.hooks.HookGenerator.lambda$generateUnknownHandlingHook$2(HookGenerator.java:84) at com.javadeobfuscator.javavm.hooks.HookedMethod.execute(HookedMethod.java:84) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1191) at com.javadeobfuscator.javavm.instructions.InvokeSpecialInstruction.execute(InvokeSpecialInstruction.java:84) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1196) at com.javadeobfuscator.javavm.instructions.InvokeSpecialInstruction.execute(InvokeSpecialInstruction.java:84) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1196) at com.javadeobfuscator.javavm.instructions.InvocationInstruction.execute(InvocationInstruction.java:96) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1196) at com.javadeobfuscator.javavm.instructions.InvocationInstruction.execute(InvocationInstruction.java:96) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1196) at com.javadeobfuscator.javavm.instructions.InvocationInstruction.execute(InvocationInstruction.java:96) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.internalExecute(VirtualMachine.java:1196) at com.javadeobfuscator.javavm.instructions.InvocationInstruction.execute(InvocationInstruction.java:96) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1265) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1111) at com.javadeobfuscator.javavm.VirtualMachine.execute(VirtualMachine.java:1052) at com.javadeobfuscator.deobfuscator.transformers.stringer.v3.HideAccessTransformer.transform(HideAccessTransformer.java:98) at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:478) at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:435) 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) Suppressed: com.javadeobfuscator.javavm.exceptions.ConvertedException: java.lang.Throwable: null at java.lang.Class.privateGetDeclaredFields(Unknown Source) at java.lang.Class.getDeclaredFields(Unknown Source) at net.myotherworld.parkour.data.on.H(Unknown Source) at net.myotherworld.parkour.data.on.O(Unknown Source) at net.myotherworld.parkour.data.on.p(Unknown Source) at net.myotherworld.parkour.data.GroupData.getInstance(GroupData.java)

Please help me

Janmm14 commented 2 years ago

Try to use the transformers of stringer without a specific version. Then select string encryption transformer before hideaccess

MrKaratio1337 commented 2 years ago

Try to use the transformers of stringer without a specific version. Then select string encryption transformer before hideaccess

I also tried, but I had an error with HideAccessTransformer, when I will be on the computer it will send an error code

MrKaratio1337 commented 2 years ago

Try to use the transformers of stringer without a specific version. Then select string encryption transformer before hideaccess

[main] ERROR com.javadeobfuscator.deobfuscator.DeobfuscatorMain - An error occurred while parsing the configuration file com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type com.javadeobfuscator.deobfuscator.transformers.Transformer from String "stringer.HideAccessTransformer": Could not locate specified transformer at [Source: (File); line: 5, column: 5] (through reference chain: com.javadeobfuscator.deobfuscator.config.Configuration["transformers"]->java.util.ArrayList[1]) at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67) at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:1535) at com.javadeobfuscator.deobfuscator.config.TransformerConfigDeserializer.getById(TransformerConfigDeserializer.java:99) at com.javadeobfuscator.deobfuscator.config.TransformerConfigDeserializer.deserialize(TransformerConfigDeserializer.java:69) at com.javadeobfuscator.deobfuscator.config.TransformerConfigDeserializer.deserialize(TransformerConfigDeserializer.java:34) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:285) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:244) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:127) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:287) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2890) at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.run(DeobfuscatorMain.java:66) at com.javadeobfuscator.deobfuscator.DeobfuscatorMain.main(DeobfuscatorMain.java:36)

Janmm14 commented 2 years ago

@MrKaratio1337 Well its named slightly different, see https://github.com/java-deobfuscator/deobfuscator/tree/master/src/main/java/com/javadeobfuscator/deobfuscator/transformers/stringer

MrKaratio1337 commented 2 years ago

@MrKaratio1337 Well its named slightly different, see https://github.com/java-deobfuscator/deobfuscator/tree/master/src/main/java/com/javadeobfuscator/deobfuscator/transformers/stringer

Deobfuscation failed. Please open a ticket on GitHub and provide the following error: java.lang.NullPointerException at java.base/java.lang.reflect.Array.get(Native Method) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.executeArrayLoad(MethodExecutor.java:98) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:493) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:76) at com.javadeobfuscator.deobfuscator.executor.defined.MappedMethodProvider.invokeMethod(MappedMethodProvider.java:54) at com.javadeobfuscator.deobfuscator.executor.providers.DelegatingProvider.invokeMethod(DelegatingProvider.java:35) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:1394) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:76) at com.javadeobfuscator.deobfuscator.transformers.stringer.StringEncryptionTransformer.decrypt(StringEncryptionTransformer.java:463) at com.javadeobfuscator.deobfuscator.transformers.stringer.StringEncryptionTransformer.transform(StringEncryptionTransformer.java:105) at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:478) at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:435) 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)

Janmm14 commented 2 years ago

Maybe there is another obfuscation at work here as well which got applied after stringer.

If the file you try to deobfuscate can be uploaded or linked with respect to copyrights (see #653, also this repository was being targeted by dmca multiple times in the past due to such issues), I could take a look at it.

MrKaratio1337 commented 2 years ago

Maybe there is another obfuscation at work here as well which got applied after stringer.

If the file you try to deobfuscate can be uploaded or linked with respect to copyrights (see #653, also this repository was being targeted by dmca multiple times in the past due to such issues), I could take a look at it.

When I saw a code of this Minecraft plugin in Intellij IDEA I saw Invokedynamic. AM I must add this to config?

Janmm14 commented 2 years ago

Maybe there is another obfuscation at work here as well which got applied after stringer. If the file you try to deobfuscate can be uploaded or linked with respect to copyrights (see #653, also this repository was being targeted by dmca multiple times in the past due to such issues), I could take a look at it.

When I saw a code of this Minecraft plugin in Intellij IDEA I saw Invokedynamic. AM I must add this to config?

For stringer the stringencryption is first thing to undo in 99% of the cases. I mean you could try to play around with different transformers to see if there is one stringer decryptor doing work without failure. What does the detect feature tell you?