使用java反编译器jd gui并获取//内部错误//
我使用dex2jar反编译了一个apk文件,并在jdgui中打开了生成的jar文件。我可以很好地查看几乎所有的代码,但有一部分(常量)只显示使用java反编译器jd gui并获取//内部错误//,java,android,dex2jar,Java,Android,Dex2jar,我使用dex2jar反编译了一个apk文件,并在jdgui中打开了生成的jar文件。我可以很好地查看几乎所有的代码,但有一部分(常量)只显示//内部错误//,其他什么都不显示。有办法检索常量吗?任何经过此问题的人都应该查看以下内容: 使用它而不是JDGUI,我能够成功地查看JDGUI上显示为内部错误的所有代码 您也可以尝试Jadx:我通过安装Java Jdk 64位“Java SE开发工具包8u111”修复了这个问题。可能是因为您在代码中使用了lambda表达式,我观察到JD多次显示//内部错误
//内部错误//
,其他什么都不显示。有办法检索常量吗?任何经过此问题的人都应该查看以下内容:
使用它而不是JDGUI,我能够成功地查看JDGUI上显示为内部错误的所有代码
您也可以尝试Jadx:我通过安装Java Jdk 64位“Java SE开发工具包8u111”修复了这个问题。可能是因为您在代码中使用了lambda表达式,我观察到JD多次显示//内部错误//使用lambda表达式,尝试用匿名类替换。尝试使用Lyten反编译器这里是链接:此请下载最新版本。 面临类似的问题,并且在更新后仍然有效
您正在运行哪个版本的jd gui和哪个版本的Java?您是否尝试过运行
javap
?反编译器的兼容性随着每个新的Java版本而变化。请尝试luyten/bytecode viewerLuyten不允许打开目录(例如,目录结构中的几个.class
文件)。它只在jar文件中工作,因此对我没有用处。@TomášZato您可以自己构建jar文件。只需将整个目录结构放入一个zip文件并将其重命名为jar.OK,但JDGUI可以反编译wars,其中的LIB是链接的。在Luyten中,如果我们将所有jar内容放在zip中并重命名为jar,那么我们可以看到类,但库中的jar无法反编译。Jadx工作得非常好。Luyten没有显示在Jadx和JD-GUI中可以看到的lambda类。我认为Luyten有一个缺点。我试着打开一个war文件,在它小小的任务栏上显示文件太大:76.5MB将试用Lyten反编译器。请努力解释一下你的答案。这将真正帮助解决类似问题的其他人