什么java反编译工具最好用,要是连注释也能编译出来就最好了。
不可能,class文件本身都没有注释。你怎么编译,jd-gui虽好但是反编译称java文件前面会有一些垃圾的注释,这些注释都是行数 比如/* 1 *//* 2 */ 而且每个编译出来的类都会有,无一例外。。
java反编译工具哪个好用
由于JAVA语言安全性高、代码优化、跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。 为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。 目前,比较流行的
JAVA反编译工具有近30种,其中有三款堪称精品: 一、 应用广泛的JAD 在众多的
JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java piler、DJ Java piler、NMI’s Java Class Viewer和国产的JAVA源代码反编译专家。 JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。 JAD是使用Microsoft Visual C++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下(以JAD 1.5.8f版本为例): -d - 用于指定输出文件的目录 -s - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。 -8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。 最常用的反编译指令如下所示: Jad –d c:javasource –s .java -8 javatest.class 这条指令将当前目录下的javatest.class反编译为javatest.java并保存在c:javasource目录里,其中的提示输出为中文,而不是Unicode代码。 二、 源码开放的JODE JODE是全球最大的开源项目网站的成员,在所有的JAVA反编译器中,JODE的反编译效果是最好的,尤其是对付一些常见的加密手段,例如混淆技术等,更是出类拔粹。 JODE本身也是纯JAVA开发的,最近越来越多的JAVA反编译软件也选择JODE来做它们的核心引擎,例如JCavaj Java piler、BTJ (Back To Java)、jEdit’s JavaInsight plugin等。 JODE是一个可运行的JAR文件,在windows环境下双击即可运行。 需要特别说明的是,JODE不是通过常规的Open->File的方式来加载JAVA编译后的类文件(*.class)或是类包(*.jar)的, 而是通过在Options菜单中的Set Classpath来实现的,单独的类文件可以将它的上一级目录作为Classpath输入,然后再选择Reload Classpath即可。 新加入的类包或是类的名字会在左侧窗口出现,双击类包名可以展开目录树结构,双击需要反编译的类名则在右上角的窗口中直接显示反编译后的源代码。 三、 独树一帜的DAVA DAVA不是一个独立的JAVA反编译器,而是JAVA代码优化工具Soot的一部分。Soot和JODE一样是纯JAVA开发的,也是一个独立的JAR包,但却不能通过双击直接运行,而是象JAD一样在命令行状态运行。 Soot对环境变量的配置要求非常严格,通常情况下要对CLASSPATH做如下设置: Set CLASSPATH=%CLASSPATH%;c:sootdirsootclasses-2.1.0.jar;.; 其中的c:sootdir是下载的soot类包放置的路径,CLASSPATH末尾的.;代表了当前目录,如果不加上这个的话Soot经常会报一个找不到类的错误。 DAVA是作为Soot的一个参数使用的,通常的用法如下: Java soot.Main –f dava –d c:javasource javatest 注意最后的类名不用带.class后缀,因为它默认是处理class文件,这个操作与前述的JAD的参数效果相同。 DAVA采取了流程优化的方式进行反编译,与传统反编译思路不尽相同,但却对改变流程类的加密方法有独特的反编译效果。 上述的三种工具各有千秋,但效果都非常不错。经测试,它们基本上都可以把JDK自带的一些例程完全反编译,然后不加任何修改可再编译成功,并能正常运行!
Java反编译工具哪个好
java反编译工具有如下两种: 1.jd-gui.exe?反编译最方便,界面如下: 2.XJad.exe??反编译最精确
谁能告诉我Java反编译工具到底是干嘛用的啊?
想要简单点的,行。
Java反编译工具,就是用来查看class文件的。如果没有
Java反编译工具,你无法查看class文件。 补充:一般是把
Java反编译工具安装到Eclipse上的,经过相应的配置,然后在你编辑代码的时候,你想看看一个类的内部代码,你就可以使用Ctri+鼠标左键单击那个类,这样Eclipse就能打开相应的class文件,方便吧(省的到处去下载那些源代码,更何况有些源代码不公开的)。
Java反编译工具有什么作用?
可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码。
java反编译工具有多种,推荐使用jd-gui 参考:/art/201409/452232.htm
跪求:Java反编译工具
不知道这个适合不适合用呢? XJad(Java源代码反编译工具) V2.2 XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2。 XJad可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件。 XJad带有多页面文本编辑器,反编译完成后可以直接编辑查看,编辑器支持java语法的高亮显示功能。 XJad是一个纯绿色软件,为使用方便,可以在选项中设置集成到资源管理器中,这样在*.class、*.java、*.jar文件和目录上随时点击右键都可直接进行操作。 XJad还带有导出当前编辑器中的代码为HTML文件的功能,HTML文件保持代码高亮显示的样式风格。 使用说明 =========== 1、反编译class文件:打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件,保存至当前文件夹,并在编辑器中打开查看; 2、反编译文件夹:在软件中选择反编译文件夹或右键点击文件夹选择反编译,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下,依据包路径信息生成文件夹路径,.spring.framework.*,将建\spring\framework的文件夹结构; 3、反编译jar文件:打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译,并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中; /.asp?id=75115&dp=1&fid=26
怎么用eclipse Jode Decompiler插件来反编译JAR
java反编译工具Jode piler的Eclipse插件安装与使用 Jode piler的安装: 安装非常的简单,在ECLIPSE上的help => Software Updates => Find and Install... => Search for new features to install,单击"New Remote Site..." 在URL栏输入 /eclipse/update,然后下一步,就可以看到“jode piler plugin *.*”了,选上安装就可以了,由于Jode piler是纯Java编写的所以也不需要其他的什么组件来支持了; 配置: 安装好了可以看到Window => Preferences... => Java => Jode piler选项卡。安装好了再设置一下文件关联就可以了,Window => Preferences... => General => Editors => File Associations找到"*.class"在"Associated editors"里面可以看到"Jode class file viewer"选中它再单击Default按钮就OK了. 使用: 现在就可以开始使用了,建立一个project然后引用你的组件,在组件中找到你所要反编译的类文件打开就可以看到反编译后得到的代码了. 注:现在版本只支持3.0或者3.1的,3.2安装以后可能会有错误。
最好的java反编译工具是哪个
算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。 JD分为JD-GUI、JD-Eclipse两种运行方式,JD-GUI是以单独的程序的方式运行,JD-Eclipse则是以一个Eclipse插件的方式运行。
java反编译
如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++! 作者因最近分析一些JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助。 JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。 经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于JDKBIN 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。 这里我用了一个简单例子来说明问题。 JAVA的源程序hello_java.java如下: import java.applet.*; import java.awt.*; public class hello_java extends Applet { public void paint(Graphics g) { g.drawString("Hello Java!
",20,20); } } 经用反编译命令:javap -c -package -public -private hello_java hello.java 得到的反编译结果(hello.java)如下:(有关javap命令的选择参数请见其使用说明,这里-c表示选择了反编译) Compiled from hello_java.java public synchronized class hello_java extends java.applet.Applet /* ACC_SUPER bit set */ { public void paint(java.awt.Graphics); public hello_java(); Method void paint(java.awt.Graphics) 0 aload_1 1 ldc #1 3 bipush 20 5 bipush 20 7 invokevirtual #6 10 return Method hello_java() 0 aload_0 1 invokespecial #5 ()V> 4 return }
Java 反编译软件
推荐你用 Jad ,因为可以跟 Eclipse 集合起来,在开发环境中双击 jar文件里面的class文件,马上就可以得到源代码,并且支持JDK1.6 ,方便学习, 以下安装为转载:
----------------------------------------------------------------------------------------------------------------------------------
jadClipse: /projects/jadclipse jadclipse_3.1.0.jar
jad: /jad.html jadnt158.zip
参考文档: /bbs/servlet/D2DServlet/download/124-32364-190427-2623/EclipseJadClipse.pdf
安装插件:
最好用links方式安装jadclipse,好处多多!
解压缩jadnt158.zip,把jad.exe拷贝到jre的bin的目录下。或者把jad的执行文件的绝对路径加入到环境变量PATH中。
配置jadclipse
使用link方式安装,建立E:eclipse3.2pluginsjadclipse3.2.0eclipseplugins的目录结 构,将jadclipse_3.2.0.jar放到plugins目录下面(注:其中E:eclipse3.2plugins为你自己定义的一个专门放 置插件的目录)。再在%ECLIPSE_HOME%links目录下面建立一个jadclipse3.2.2.link文件(该文件名随便取,保证后缀 为.link就OK).文件里面内容为:path=E:\eclipse3.2plugins\jadclipse3.2。
重新启动eclipse,打开window->preferences->java->jadClipse
Path to plier:指定反编译工具的jad文件所在的位置。这个必须配置正确要不编译出错。
我设置的是jad的jre路径。c:jdk1.5jreinjad.exe
里面的选项可以根据自己的意愿自选。
把*.class文件的associated editors设置为jadClipse Class File Viewer做为默认项
可以反编译class文件了:
1.在eclipse的package explorer中双击class文件,或者右键open.
2.命令行运行方式.eg:d:>jad *.class 反编译为*.jad.可以参考jadnt158.zip目录下的readme.txt
现在比较好的JAVA反编译工具?
JDA 功能特点: 1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作; 4、支持java语法的高亮显示;
跪求JAR反编译的最容易最强的工具
目前,比较流行的
JAVA反编译工具有近30种,其中有三款堪称精品: 一、 应用广泛的JAD 在众多的
JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java piler、DJ Java piler、NMI’s Java Class Viewer和国产的JAVA源代码反编译专家。 JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。 JAD是使用Microsoft Visual C++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下(以JAD 1.5.8f版本为例): -d - 用于指定输出文件的目录 -s - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。 -8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。 最常用的反编译指令如下所示: Jad –d c:javasource –s .java -8 javatest.class 这条指令将当前目录下的javatest.class反编译为javatest.java并保存在c:javasource目录里,其中的提示输出为中文,而不是Unicode代码。 二、 源码开放的JODE JODE是全球最大的开源项目网站的成员,在所有的JAVA反编译器中,JODE的反编译效果是最好的,尤其是对付一些常见的加密手段,例如混淆技术等,更是出类拔粹。 JODE本身也是纯JAVA开发的,最近越来越多的JAVA反编译软件也选择JODE来做它们的核心引擎,例如JCavaj Java piler、BTJ (Back To Java)、jEdit’s JavaInsight plugin等。 JODE是一个可运行的JAR文件,在windows环境下双击即可运行。 需要特别说明的是,JODE不是通过常规的Open->File的方式来加载JAVA编译后的类文件(*.class)或是类包(*.jar)的, 而是通过在Options菜单中的Set Classpath来实现的,单独的类文件可以将它的上一级目录作为Classpath输入,然后再选择Reload Classpath即可。 新加入的类包或是类的名字会在左侧窗口出现,双击类包名可以展开目录树结构,双击需要反编译的类名则在右上角的窗口中直接显示反编译后的源代码。 三、 独树一帜的DAVA DAVA不是一个独立的JAVA反编译器,而是JAVA代码优化工具Soot的一部分。Soot和JODE一样是纯JAVA开发的,也是一个独立的JAR包,但却不能通过双击直接运行,而是象JAD一样在命令行状态运行。 Soot对环境变量的配置要求非常严格,通常情况下要对CLASSPATH做如下设置: Set CLASSPATH=%CLASSPATH%;c:sootdirsootclasses-2.1.0.jar;.; 其中的c:sootdir是下载的soot类包放置的路径,CLASSPATH末尾的.;代表了当前目录,如果不加上这个的话Soot经常会报一个找不到类的错误。 DAVA是作为Soot的一个参数使用的,通常的用法如下: Java soot.Main –f dava –d c:javasource javatest 注意最后的类名不用带.class后缀,因为它默认是处理class文件,这个操作与前述的JAD的参数效果相同。 DAVA采取了流程优化的方式进行反编译,与传统反编译思路不尽相同,但却对改变流程类的加密方法有独特的反编译效果。 上述的三种工具各有千秋,但效果都非常不错。经测试,它们基本上都可以把JDK自带的一些例程完全反编译,然后不加任何修改可再编译成功,并能正常运行!
如何进行JAVA程序的反编译?
JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。
经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于JDKBIN 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。
这里我用了一个简单例子来说明问题。
详情见: /articles/2010/1115/1289796925240_1.html
java反编译工具哪个好用
jd-gui、DJ Java piler、Xjad 其中前2个我用过,jd-gui 算是轻量级,但有时候反编译的效果不如 DJ,有些文件可能还原的不完整;DJ的缺点是只能一个文件一个文件的打开,而且体验上比jd-gui稍差。
java反编译工具
1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作; 4、支持java语法的高亮显示;
使用说明: ======== 1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件, 保存至当前文件夹,并在编辑器中打开查看; 2、打开一个文件夹,XJad将该文件夹下所有*.class文件进行反编译,并保存至该文件夹下, 依据包路径信息生成文件夹路径,.spring.framework.*, 将建springframework的文件夹结构; 3、打开一个*.jar文件,XJad将该Jar文件中的所有*.class文件解压缩到临时目录并进行反编译, 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
功能改进: ======== 1、增加了一个多文本编辑器,可以方便的编辑文件; 2、可以选择是否集成资源管理器;
谁有Java反编译工具的具体方法啊?
应该是在Eclipse安装
Java反编译工具吧,过程很简单: 1、下载jad.exe以及jadclipse_xxx.jar。(注意xxx表示版本,最好先看看你的Eclipse版本,然后网站搜索对应jar包以及jad.exe版本) 2、把jadclipse_xxx.jar放在Eclipse根目录plugins文件夹里、把jad.exe放在jdk根目录bin文件夹里。 3、设置参数(Eclipse):Window->Preferences->Java->JadClipse-->Path to piler,指向jad.exe的目录。 4、配置*.class文件关联(Eclipse):Windows-->Perference-->General-->Editors-->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。
怎么用eclipse Jode Decompiler插件来反编译JAR
安装方法: 1、点击Eclipse的Help菜单 --> Software Updates --> Find and install...; 2、然后选择:Search for new features to install,在弹出的对话框中点击“New Remote Site...”菜单; 3、填入: Name: Jode opiler 4、点击“Finish”; 5、安装好后可以看到Window => Preferences... => Java => Jode piler选项 卡; 6、配置:Window => Preferences... => General => Editors => File Associations找到"*.class"在"Associated editors"里面可以看到"Jode class file viewer"选中它再单击Default按钮; 7、在Eclipse中展开jar文件,双击class文件即可看到反编译之后的源代码。
教我怎样 java反编译可以吗?
反编译的工具有好多, 在众多的
JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java piler、DJ Java piler、NMI’s Java Class Viewer和国产的JAVA源代码反编译专家。 jad是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高。可惜用起来不太方便。还好 找到eclipse下的插件,叫jadclipse,安装好之后,只要双击.class文件,就能直接看源文件,包括jar 包中的class文件,也可以直接反编译。 1.下载jad1.5.8e 下载后解压。解压缩后将jad.exe拷贝到JRE的bin目录下,如d:/Java/jre1.5/bin 2.下.sf.jadclipse_3.2.4.jar 3.安装插件,有如下两种方法 .sf.jadclipse_3.2.4.jar复制到D:/leaf/eclipse/plugins目录下。 B.在d:/leaf下建立ecliplsePlungin/jadclipse/eclipse/plugins目录,.sf.jadclipse_3.2.4.jar放到该目录。在d:/leaf/eclipse/links下建jadclipse.link,内容为path=d/://leaf//ecliplsePlungin//jadclipse 3.启动Eclipse后,在Windows(窗口)-->Perference(首选项)-->Java下面应该会多出一个JadClipse目录,相关的设置可以在此修改配置jadclipse:设置path to piler为jad.exe的全路径,如:d:/Java/jre1.5/bin/jad.exe,在Directory for temporary files中指定临时文件的路径,如:C:/Java/temp 4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer” 5、安装完成,双击class文件,Eclipse将自动反编译了。 6、把*.java 和*.class文件放在同一文件夹下,在反编译时它回自动去寻找*.java的文件。 反编译工具jad简单用法 以下假设jad.exe在c:/java目录下 一、基本用法 Usage: jad [option(s)] 直接输入类文件名,且支持通配符,如下所示。 c:/java/>jad example1.class c:/java/>jad *.class 结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源 文件。 二、Option -o 不提示,覆盖源文件 三、Option -s c:/java/>jad -sjava example1.class 反编译结果以.java为扩展名。 四、Option -p 将反编译结果输出到屏幕 c:/java/>jad -p example1.class 将反编译结果重定向到文件 c:/java/>jad -p example1.class>example1.java 五、Option -d 指定反编译的输出文件目录 c:/java/>jad -o -dtest -sjava *.class
Java反编译工具的用法?
反编译得出的代码,是JAVA文件在生成CLASS文件时,做过优化的代码。 所以跟你的原文件不一样(比如:注释全没有,中文全变成Unicode码,字符串连接全部用StringBuffer类来代替,自动增加else语句等等)。 所以,你要是想修改反编译出来的代码,可以: 1、将反编译出的代码复制到一个新建的类文件里 2、运行这个文件 3、根据错误提示,进行修改 以上是,我用过的方法。