Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while decrypting Allatori string. Are you sure you're deobfuscating something obfuscated by Allatori? #1000

Open
ciclonite opened this issue Jun 5, 2024 · 3 comments

Comments

@ciclonite
Copy link

Hi,
I'm trying to deobfuscate a file jar.

The detection:
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading classpath [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading input [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Detecting known obfuscators [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - RuleStringDecryptor: Allatori's string decryption is very simple, accepting an encrypted string and outputting a decrypted string [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Found possible string decryption class kingDavid/D [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Recommend transformers: [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - (Choose one transformer. If there are multiple, it's recommended to try the transformer listed first) [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - com.javadeobfuscator.deobfuscator.transformers.allatori.StringEncryptionTransformer [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - com.javadeobfuscator.deobfuscator.transformers.allatori.string.StringEncryptionTransformer [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - All detectors have been run. If you do not see anything listed, check if your file only contains name obfuscation. [main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Do note that some obfuscators do not have detectors.
So i've create a file with this transformer :

    • com.javadeobfuscator.deobfuscator.transformers.allatori.StringEncryptionTransformer

But the result is :

Error while decrypting Allatori string. Are you sure you're deobfuscating something obfuscated by Allatori? kingDavid/k ALLATORIxDEMO(Ljava/lang/String;)Ljava/net/Socket; kingDavid/D ALLATORIxDEMO(Ljava/lang/String;)Ljava/lang/String; com.javadeobfuscator.deobfuscator.executor.exceptions.ExecutionException: getField failed @ kingDavid/D ALLATORIxDEMO(Ljava/lang/String;)Ljava/lang/String; at com.javadeobfuscator.deobfuscator.executor.providers.DelegatingProvider.getField(DelegatingProvider.java:74) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:1007) at com.javadeobfuscator.deobfuscator.executor.MethodExecutor.execute(MethodExecutor.java:76) at com.javadeobfuscator.deobfuscator.transformers.allatori.StringEncryptionTransformer.transform(StringEncryptionTransformer.java:165) at com.javadeobfuscator.deobfuscator.Deobfuscator.runFromConfig(Deobfuscator.java:477) at com.javadeobfuscator.deobfuscator.Deobfuscator.start(Deobfuscator.java:434) 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) [Allatori] [StringEncryptionTransformer] Decrypted 0 encrypted strings [Allatori] [StringEncryptionTransformer] Removed 0 decryption methods [Allatori] [StringEncryptionTransformer] Done
Any tips it's appreciated.
Thanks!

@Janmm14
Copy link
Contributor

Janmm14 commented Jun 5, 2024

i would guess the obfuscation is not allatori then

@ciclonite
Copy link
Author

Ok thanks for reply, but why it detect Allatori obfuscation?

@Janmm14
Copy link
Contributor

Janmm14 commented Jun 6, 2024

the detection is just a guess and other obfuscation or in theory also some legitimate methods could trigger it.
allatori string obfuscation is not trying to read fields (but thats what the method tries to do when emulated), but the detection here is not verifying the suspected method does not have certain instructions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants