首页 / 知识
关于Windows:如何以人类可读的方式打开Java .class文件?
2023-04-16 04:10:00

How can I open Java .class files in a human-readable way?我试图弄清楚Java applet的类文件在做什么。 用记事本或文本板打开它只会显示一堆乱码。 有什么方法可以将其纠缠成某种可读性的格式,以便我可以弄清楚它在做什么吗?
jd-gui是目前最好的反编译器。与日渐流行的JAD相比,它可以处理Java中的新功能。 如果您不介意读取字节码,则javap应该可以正常工作。它是标准JDK安装的一部分。
您需要一个Java反编译器,可以使用命令行工具 正如@MichaelMyers指出的那样,请使用
获取JVM汇编代码。您也可以将输出重定向到文本文件以获得更好的可见性。
jd-gui" http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q="是用于反编译.class的最佳且用户友好的选项文件.... cpuguru,如果您的applet已使用javac 1.3(或更低版本)编译,则最佳选择是使用Jad。 不幸的是,JAD 1.5.8(2001年4月14日)支持的最后一个JDK是JDK 1.3。 如果您的applet已使用较新的编译器进行编译,则可以尝试JD-GUI:该反编译器正在开发中,不过,大多数情况下,它会为使用JDK 1.4、1.5或1.6编译的类生成正确的Java源代码。 DarenW,谢谢您的帖子。 JD-GUI尚不是最好的反编译器...但是我正在研究:) 您正在寻找的是Java反编译器。我推荐JAD http://www.kpdus.com/jad.html,它可免费用于非商业用途,并可以完成工作。 注意:这不会使代码与编写的代码完全相同。即,您将丢失注释和可能的变量名,因此,与仅阅读常规源代码相比,这将更加困难。如果开发人员确实是秘密的,他们也会混淆自己的代码,从而使其更难阅读。 使用Jad进行反编译可能是您的最佳选择。除非代码被混淆,否则将产生好的结果。 这是已编译的代码,您需要使用反编译器(例如JAD):http://www.kpdus.com/jad.html 当然,可以使用JAD和/或JADclipse Eclipse插件。 如果要查看的类文件是开源的,则不应对其进行反编译,而应将源文件直接附加到IDE中。这样,您就可以像查看属于您自己的库类一样查看代码 您需要使用反编译器。其他人建议使用JAD,还有其他选择,JAD是最好的。 我会回应一些评论,与原始源代码相比,您可能会有所损失。如果代码由于擦除而使用了泛型,那就显得特别有趣。
如果您想要可读的Java代码,那么JAD是一个很好的选择。但是,如果您确实想深入研究
另外,如果确实需要,可以在十六进制编辑器中打开任何 您还可以使用可用的在线Java反编译器。例如http://www.javadecompilers.com 如建议的那样,您可以使用JAD对其进行反编译并查看文件。为了使阅读更容易,您可以使用eclipse的JADclipse插件将JAD直接集成到eclipse或使用DJ Java Decompiler,它比命令行JAD易于使用 无需反编译Applet.class。 JDK附带了公共Java API类源代码(如果您选择安装它的话),并且比反编译的字节码可读性更好。您可以在src.zip(位于JDK安装文件夹中)中找到压缩文件。 CFR-另一个Java反编译器是Java 6编写的现代Java的出色反编译器。 |
最新内容
相关内容
linux文件异或命令?
linux文件异或命令?,数字,系统,工作,管理,命令,数据,网络,文件,第一,单位,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux满屏显示命令?
linux满屏显示命令?,工具,系统,服务,电脑,网络,技术,信息,数据,上会,软件,如何显示linux所有命令1、网卡。在linux系统中,ifconfig-a命令是用来linux文件复制的命令?
linux文件复制的命令?,系统,文件,命令,目录,源文件,基本知识,位置,目标,选项,文件夹,在Linux中,要将指定源文件复制到目标文件,但不覆盖原有文显示linux时间命令?
显示linux时间命令?,时间,系统,信息,一致,命令,文件,终端,目录,选项,参数,linuxcp命令并显示拷贝时间在没有带-a参数时,两个文件的时间是不一样linux复制命令文件?
linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路径,选项,linux怎么复制命令cp命令:用于复制文件或目录。语法如下:`baslinux下文件均分命令?
linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配linux的文件替换命令?
linux的文件替换命令?,系统,工作,实时,命令,文件,批量,字符串,内容,方法,表示,linux命令行替换文件内容Linux下批量替换多个文件中的字符串的linux常用命令文本?
linux常用命令文本?,工作,命令,网络,地址,系统,管理,标准,信息,目录,文件,Linux用户以及权限相关常用命令总结sudo和su类似,有一些附加的属性,管linux查文件数量命令?
linux查文件数量命令?,系统,数据,电脑,命令,文件,信息,代码,对比,软件,第三,linux系统如何查看自己创建了多少文件夹为了实验,我打算总共创建 7linux命令刷新显示?
linux命令刷新显示?,系统,工作,最新,地址,命令,异常,分析,工具,信息,软件,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录的linux命令去重文件?
linux命令去重文件?,系统,工作,命令,信息,数据,环境,代码,文件,目录,操作,Linux的命令行中一些文本操作技巧的实例分享1、把文件中所有的 findlinux写大文件命令?
linux写大文件命令?,服务,数据,第三,较大,基础,工具,设备,文件,大小,命令,linux拼接文件时出错文件过大)在windows下转换:利用一些编辑器如Ultra