【发布时间】:2017-03-19 11:36:52
【问题描述】:
我正在尝试对 .jar 文件(基本上是一组 .class 文件)进行逆向工程。但是,有两个困难:
部分变量、方法和类以unicode字符命名,无法正常显示。这使得源代码编辑非常不方便。
某些类以 Java 关键字 命名(例如
if)。因此,Java 编译器在重新编译逆向工程的源文件时会报错。
是否有任何 Java 去混淆器可以克服这些困难?
【问题讨论】:
-
Java 中反编译器的现状是一个悲伤的故事。我想要求反编译器甚至试图打破混淆器......祝你好运。此外:你的问题显然是题外话。您正在寻求场外资源的推荐。
-
@GhostCat 我不是要反编译器。我正在寻找一种方法来更改 JAR 文件中的变量名。支持变量重命名的有效 Java 反混淆器显然是解决此问题的最佳方法。如果反编译器具有该功能,那也是一种解决方案,但不是问题本身。顺便说一句,所有问题都是推荐问题。我正在寻找解决我的问题的答案,但不是工具之间的比较。这看起来不是很主观,对吧?
-
你试过jd-gui吗?
-
@PradeepPati 是的。它只是无法正确显示 unicode 字符。而且它不处理 Java 关键字。我已经在问题中提到了这些问题。
标签: java reverse-engineering obfuscation decompiler deobfuscation