首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何反编译jd-gui反编译器无法反编译的Java类文件?

如何反编译jd-gui反编译器无法反编译的Java类文件?
EN

Stack Overflow用户
提问于 2012-08-01 14:00:41
回答 3查看 11.5K关注 0票数 1

我们意外地从系统中删除了一些JAVA源文件。

当我们直接从存储库中签出一个文件夹作为eclipse项目,然后试图将另一个eclipse项目中的文件夹复制到这个one.Strangely中时,所有这些文件夹文件都从本地系统中消失了(很明显,它们从未进入SVN存储库)。

不知何故,我们已经获得了一些类的.svn-base文件files.Now我们正在尝试反编译类文件,以获取回源代码。然而,当jd编译器尝试处理某些类文件时,会给出错误"invalid input file“。有没有其他的解决方案?

EN

回答 3

Stack Overflow用户

发布于 2012-08-01 14:28:48

据我所知,"jd-gui“是封闭的源代码,所以您可能需要联系开发人员以了解该消息的含义。(如果它是开源的,我们可以查看源代码来找出可能的问题!)

然而,从Google出现的各种问题中可以清楚地看到一件事,那就是"jd-gui“不了解如何反编译归档文件(JAR、EAR等)。因此,也许你只需要解压一些东西来让它工作。

您可以尝试的另一件事(首先)是查看"javap“如何处理"jd-gui”不喜欢的类文件。

票数 3
EN

Stack Overflow用户

发布于 2012-08-01 20:31:15

尝试使用JAD对文件进行反编译。

www.varaneckas.com/jad/

您可能需要解压缩您的jar文件,然后运行类似以下的命令来对它们进行反编译

代码语言:javascript
复制
find <srcdirectory> -name *.class -exec jad -s .java -r -ff -clear -debug -d <dest directory> {} \;

我还没有测试上面的命令,但希望它几乎就在那里……

票数 0
EN

Stack Overflow用户

发布于 2020-07-08 16:40:32

对于某个类文件,我也遇到了错误"invalid input file“。我使用的是jd-gui的0.3.6版本。在下载了最新版本的jd-gui (在撰写本文时是1.6.6 )之后,我可以反编译之前失败的类文件。

因此,如果有人仍然有这个问题,如果是旧的版本,检查版本并升级是有意义的。这里有一个指向“最新版本”-download页面的链接:http://java-decompiler.github.io/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11753357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档