`

jad

    博客分类:
  • tool
阅读更多
今天在理解struts的表单验证的时候~~~~需要查看DynaValidatorForm的源文件~~但是myeclipse没有加入jad直接查看class文件~~google了~~整出来了~~心情不错~~~发在这里~~方便下次安装~~~~
具体操作步骤:

下载反编译工具jad

下载地址:http://www.kpdus.com/jad.html#download,根据相对操作界面的版本进行下载,因为我们的操作界面是window所以下载:jad 1.5.8 for Window 9x/NT/2000即可。

将下载下来的jadnt158.zip解压缩,将jad.exe文件放入%JAVA_HOME%\bin文件目录下。

下载eclipse反编译插件jadclipse

下载地址:http://sourceforge.net/projects/jadclipse/,根据eclipse的版本进行下载,这里注意了,不是MyEclipse的版本,我们用的MyEclipse5.1是自动装载eclipse,而它的版本可以在help中查看,在这里它的版本为 eclipse3.2所以我们就要下载jadclipse3.2
因为是jadclipse3.2的版本,所以可直接将net.sf.jadclipse_3.2.4.jar复制到%eclipse_home%\plugins下,而这里我们的目录为C:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\eclipse\plugins下

重启eclipse

配制jadclipse

Window/Preferences/java/jadClipse中的Path to decomiler设置为jad.exe的决对路径,刚才我们给它放到了我们jdk的bin中,为C:\j2sdk1.4.2\bin\jad.exe。 Directory for temporary files设置为存放临时文件的决对路径这里我把它设置到桌面上了C:\Documents and Settings\LuckyStar\桌面\.net.sf.jadclipse

General/Editors/File Associations中把*.class的Associated Editors设置为JadClipse Class File Viewer为默认。如果没有jadclipse则说明net.sf.jadclipse_3.2.4.ja没有复制到正确的位置

可以试一下双击class文件,看能否反编译成java代码了



注:

jad是命令行式的反编译程序,将class文件反编译java操作的工具,在命令行中执行操作,如下说明几个简单的反编译操作:

将当前文件夹下的abc.class文件反编译成abc.jad文件

       D:\jad>jad abc.class

将当前文件夹下的abc.class文件反编译成abc.java文件

              D:\jad>jad -sjava abc.class

可以单独使用。Jadclipse是eclipse中的一个插件,是用于在eclipse中双击*.class文件时直接查它的*.java代码,不可以单独使用。
如果出现下面的错误~~请再点击菜单栏上的JADCLIPSE~~

分析:

/*jadclipse*/

/*
DECOMPILATION REPORT

Decompiled from: E:\suntest\jspbook\WEB-INF\classes\com\guestbook//MD5.class
Total time: 15 ms
Jad reported messages/errors:
Exit status: 0
Caught exceptions:
java.io.IOException: CreateProcess: jad -p -t4 -lradix10 -radix10 MD5.class error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at net.sf.jadclipse.JadDecompiler.decompile(JadDecompiler.java:160)
at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:158)
at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:83)
at net.sf.jadclipse.JadclipseClassFileEditor.doOpenBuffer(JadclipseClassFileEditor.java:87)
at net.sf.jadclipse.JadclipseClassFileEditor.doSetInput(JadclipseClassFileEditor.java:45)
at net.sf.jadclipse.JadclipseActionBarContributor.setActiveEditor(JadclipseActionBarContributor.java:87)
at org.eclipse.ui.internal.EditorActionBars.partChanged(EditorActionBars.java:335)
at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:628)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:617)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3487)
at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:610)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2832)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:318)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:160)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:207)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50)
at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:221)
at org.eclipse.ui.internal.navigator.CommonNavigatorManager$3.open(CommonNavigatorManager.java:184)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:372)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
分享到:
评论

相关推荐

    java jad 反编译工具 jad1.5.8g

    Java JAD 反编译工具 Jad1.5.8g 是一个专为Java开发者设计的工具,用于将已编译的.class文件转换回可读的Java源代码。这个工具尤其适用于那些需要查看或理解第三方库的内部工作原理,或者在没有源代码的情况下进行...

    jad1.5.8反编译工具window版本下载

    jad1.5.8反编译工具是一款专为Windows操作系统设计的Java字节码反编译软件。在Java编程环境中,源代码会被编译成字节码(.class文件),这些字节码是平台无关的,可以在任何支持Java的平台上运行。然而,字节码并...

    jad.exe反编译工具及使用说明

    jad.exe是一款常用的Java字节码反编译工具,它能够将已编译的.class文件转换回可读的Java源代码,对于理解与分析已有的Java程序或者研究逆向工程非常有帮助。本指南将详细介绍jad.exe的使用方法,并提供一些实践中的...

    jad158g.win.zip

    测试可以使用,配置如下:myeclipse2018 配置,myeclipse2018安装目录下创建dropins\jad,jad\features,jad\plugins . net.sf.jadclipse_3.3.0.jar 放置到 dropins\jad\plugins, jad.exe放到 c:\jad\jad.exe,重启...

    JAD生成器 JAD

    **JAD生成器 JAD** JAD,全称Java Application Descriptor,是Java无线应用平台(Java ME,原称为J2ME)中的一种元数据文件。它描述了应用程序的基本信息,如类、资源、权限和安全特性,使得移动设备能够理解和执行...

    Jad和Jadeclipse插件

    ** Jad和Jadeclipse插件详解 ** Jad与Jadeclipse是Java开发者在Eclipse集成开发环境中用于反编译Java字节码的利器。它们为程序员提供了深入理解已编译代码的能力,这对于调试、逆向工程或者学习第三方库的工作原理...

    JAD JAD下载(JAVA字节码文件查看工具)(Java反编译工具)

    3、压缩包共有四个文件,分别为:jad158g.win.zip、jad158e.linux.intel.zip、jad158e.linux.static.zip、jad158g.mac.intel.zip,请根据自己的系统选择使用 4、用法:jad -o -a -s XXX.java XXX.class 5、使用 jad ...

    jad.exe和 jad jar包

    jad.exe和jad.jar包是Java开发者在进行反编译工作时经常会用到的工具,尤其对于那些想要查看或理解已编译的Java类文件内部结构的程序员来说,它们是极其重要的资源。jad.exe是一个命令行工具,而jad.jar则包含了jad...

    idea jad插件反编译插件

    3. 在市场(Marketplace)搜索栏中输入“jad”,找到jad插件(可能是名为“Jad”或“Jad decompiler”的插件)。 4. 点击“Install”(安装)按钮,等待插件下载并安装完毕。 5. 安装完成后,重启IntelliJ IDEA,jad...

    JAD文件生成器-自动生成JAD

    **JAD文件生成器——为移动设备解决JAR安装难题** 在移动设备的早期时代,尤其是功能手机和一些早期智能手机中,Java应用(JAR)是广泛应用的形式。然而,并非所有设备都能直接处理JAR文件,这就需要一个JAD文件来...

    jad-java反编译工具eclipse插件

    JAD(Java Decompiler)就是这样一个工具,它提供了方便的反编译功能,使得开发者可以查看和分析无法获取源代码的Java类库。 标题中提到的"jad-java反编译工具eclipse插件"意味着JAD已经与Eclipse集成,成为Eclipse...

    jad158g.win (2).zip

    jad158g.win (2).zip是一个包含Java反编译工具的压缩包,专为Windows操作系统设计。这个压缩包内包含jad.exe,这是一个Java反编译器的可执行文件,用户可以直接运行而无需安装。 jad.exe是JAD(Java Decompiler)的...

    反编译jad小工具

    jad是Java字节码反编译器的缩写,它被广泛用于将Java的.class文件转换回可读的源代码格式。反编译jad小工具是程序员和逆向工程人员在理解和分析已编译的Java应用程序时常用的工具。这个小工具能够帮助开发者查看Java...

    Jad插件安装方法

    ### Jad插件安装详解:Eclipse与MyEclipse环境下的实践 #### 一、引言 Jad插件,作为一款强大的反编译工具,在Java开发者群体中享有盛誉。它能够帮助用户深入理解第三方库或框架的工作原理,对代码进行逆向工程,...

    生成jad软件 cod转jad软件

    在移动设备领域,尤其是早期的BlackBerry(黑莓)手机系统中,JAD(Java Application Descriptor)和COD(Compiled Object Data)文件是重要的应用程序包装格式。这篇文章将详细讲解这两个文件类型,以及如何将COD...

    net.sf.jadclipse_3.3.0.jar和jad.rar eclipse jad

    - 在Eclipse中打开"Window" -&gt; "Preferences" -&gt; "Java" -&gt; "JADclipse",配置JAD路径,通常为解压"jad.rar"后得到的jad.exe路径。 - 完成设置后,右键点击项目中的类文件,选择"Open With" -&gt; "JADClipse"即可...

    java反编译工具 jad

    反编译工具jad简单用法 jad 是应用最广泛的java 反编译工具;其本身是命令行工具;其他很多用具是在jad内核的基础上加了一个图形界面;比如我上传的资源、Cavaj Java Decompiler  以下假设jad.exe在c:\java目录下 ...

    eclipse jad插件和jad.exe

    Eclipse JAD插件与jad.exe是Java开发者在进行反汇编和代码分析时经常会用到的工具。JAD(Java Decompiler)是一款强大的Java字节码反编译器,它能够将已编译的.class文件转换回可读的源代码形式,这对于调试、逆向...

    eclipse插件-jad

    Jad插件是为Eclipse设计的一款重要工具,尤其对Java开发者而言,它提供了反编译功能,使得用户能够查看并理解已编译的.class文件的源代码,这对于分析和学习第三方库或无法获取源码的Java项目非常有帮助。...

Global site tag (gtag.js) - Google Analytics