如何反编译混有阿拉伯/中文/韩文字符的严重混淆类?

逆向工程 爪哇 去混淆
2021-06-11 19:12:15

我最近下载了一个jar文件,很想知道它是否是恶意的,所以我运行了它FernFlower,但它无法对其进行反混淆。当我解开罐子的拉链时,我看到里面有多个文件夹,大概有 40 到 10 到 10 分钟,混合了中文、韩文和阿拉伯文。这对我来说是一个严重的危险信号;所以我尝试了多种反编译器,包括 JD-Gui、字节码查看器和 Krakatau。一切似乎都可以很好地反编译普通文件夹,但不能很好地反编译混合语言文件夹。

我认为可以肯定地说,制作这个罐子的人显然不想让我检查里面的东西。我想确保它不是恶意jar文件(就像我之前说的......)

那么我该如何去混淆 jar 文件呢?

因为整个 jar 是73MB (yikes),这里是其中一个语言文件夹zip文件

1个回答

我对这个问题进行了尝试,但输出仍然是非常模糊的代码,您需要重新运行它几次通过更多的反混淆器代码有很多 goto 的代码和数学,您可以手动完成,但它需要几个月的时间!。

它似乎包含类 com.mojang.brigadier.exceptions.CommandSyntaxException

这意味着这个 jar 文件是用于 Minecraft 游戏的。

因为它是用于我的世界,所以我发现了这个。 https://github.com/PetoPetko/Minecraft-Deobfuscator3000

我玩过 Minecraft Deobfuscator 3000 它似乎根据 2 个不同的 Minecraft 版本 1.7.10 和 1.12 重命名所有字段/方法/参数

您需要获取此加密 java 文件使用的任何版本的映射,这两个映射版本对我来说都失败了。

我的世界

这可能对您有所帮助,它也是一个包含 6 个不同在线 Java 反编译器的站点。您可以尝试所有 6 个 。http://www.javadecompilers.com/

这个工具在这个项目上看起来也很有前途。 https://javadeobfuscator.com/
(所有转换需要大约 3 小时,并且对这个项目有帮助..)
使用转换器:

allatori.FlowObfuscationTransformer
special.FlowObfuscationTransformer
normalizer.SourceFileClassNormalizer

弄乱了general.peephole删除失败的变形金刚..我删除了 2 个。RedundantGotoRemover并且PeepholeOptimizerPeepholeOptimizer 确实做了很多修复,但它崩溃了..所以也许你可以在最后以某种方式运行它。

尝试与 Janmm14 或 samczsun 取得联系,他制作了https://javadeobfuscator.com/并且也适用于 Minecraft mods,因此他可以在此问题上 100% 为您提供帮助。

https://github.com/Janmm14
https://github.com/samczsun

Fernflower 或 CFR 适用于某些文件,Krakatau 似乎不起作用。

CFR 给出了最好的结果。

输出反编译文件:http : //www.mediafire.com/file/fh74g6uovc4ji2i/encrypted+output.zip/file

我在你的电脑上使用了 Procyon,encryptedFolder.zip它成功地反编译了所有文件,尽管在 Procyon 中没有完全实现一些字节码,所以一些功能只是得到了注释(没有代码)。

这是您的 1 个文件的示例,其中包含代码的外观。

一个 乙

Procyon 可以为任何编译没有问题的 Java 类生成 Java 代码..(本例不是这种情况,不会编译)。因为它仍然像疯了一样混淆。

RuneScape 黑客社区的人们掌握了 Java 反混淆的技能,他们可以解除对任何 Java 代码的保护,很确定您可以在 RuneScape 黑客社区中找到可以完美工作的产品。他们使用的工具是 Zelix KlassMaster、Kopi Java Compiler Suite、jode 和 Procyon。这几乎就是你所需要的。

你可以从这个 github 项目https://github.com/Rune-Status/rscdump.com-runescape-classic-dump 中找到你需要的一切

它有一堆在社区中制作的 runescape java 项目,这些项目有一堆反混淆器。

当 runescape 保护每次都变得更加强大时,社区开始使用 java asm 构建自己的反混淆器,它可以胜过目前公开的任何 java 反混淆器。

您可以在 github 上的 runescape 社区中找到一些公开的反混淆器。我是 runescape 社区的成员大约 10 年了,让我告诉你,这些人在 Java 和黑客方面非常有才华。在 Runescape 黑客社区工作的一位用户继续创建了一个名为 pastebin.com 的流行网站,展示了他们的聪明程度:)

https://github.com/search?q=runescape+deobfuscator