我怎样才能一次反编译多个罐子?

时间:2011-01-25 12:27:51

标签: java jar decompiling

嗯,我猜主题说的都是:)

理想的解决方案是找到某个文件夹中的所有jar(它们可能位于子文件夹中),并将找到的所有源写入单个“src”目录,当然还要维护包文件夹。

具体用例:反编译所有Eclipse插件jar

5 个答案:

答案 0 :(得分:23)

下载JAD Decompiler

  • 将所有jar文件(使用命令jar xvf)解开到某个目录。我们称之为${unjar.dir}

  • 为JAD创建一个目录,以写出反编译的源。我们称之为${target.dir}

  • 执行以下命令:

    jad -o -r -sjava -d${target.dir} ${unjar.dir}/**/*.class

选项是:

-o       - overwrite output files without confirmation
-r       - restore package directory structure
-s <ext> - output file extension (default: .jad)

答案 1 :(得分:2)

答案 2 :(得分:1)

反编译eclipse插件??

除了存在技术解决方案之外 - (1)你可以将(官方的)eclipse插件的所有源文件作为bundle获取,(2)不要期望反编译器结果会编译或者可以用来调试代码。

因此,如果你想研究eclipse及其插件的来源,反编译就是......说..而不是最好的想法。

答案 3 :(得分:1)

我使用code-collectionshell scriptcfr以及find所有decompilejar文件编写了工具名称war马上。

在反编译jar文件后,您可以使用我的工具查找并复制所有特定文件(例如.js.html)到新目录。

enter image description here

访问我的项目:code-collection

答案 4 :(得分:0)

Windows的等效命令是:

jad -o -r -sjava -d "target.dir" "unjar.dir/**/*.class"