MyEclipse10.7安装jad反编译插件

1.下载反编译工具jad(下面提供下载)

将下载下来的jadstar158.zip解压缩,将jad.exe文件放入jdk安装目录下

如:C:\Program Files\Java\jdk1.6.0_20\bin

下载eclipse反编译插件net.sf.jadclipse_3.3.0.jar(下面提供下载)

import java.io.File;   
import java.util.ArrayList;   
import java.util.List;   

/**  
* MyEclipse10.0 插件配置代码生成器  
*  
*  
*/  

public class CreatePluginsConfig   
{   
  
    public CreatePluginsConfig()   
    {   
    }   
  
    public void print(String path)   
    {   
        List<String> list = getFileList(path);   
        if (list == null)   
        {   
            return;   
        }   
  
        int length = list.size();   
        for (int i = 0; i < length; i++)   
        {   
            String result = "";   
            String thePath = getFormatPath(getString(list.get(i)));   
            File file = new File(thePath);   
            if (file.isDirectory())   
            {   
                String fileName = file.getName();   
                if (fileName.indexOf("_") < 0)   
                {   
                    print(thePath);   
                    continue;   
                }   
                String[] filenames = fileName.split("_");   
                String filename1 = filenames[0];   
                String filename2 = filenames[1];   
                result = filename1 + "," + filename2 + ",file:/" + path + "\\"  
                        + fileName + "\\,4,false";   
                System.out.println(result);   
            } else if (file.isFile())   
            {   
                String fileName = file.getName();   
                if (fileName.indexOf("_") < 0)   
                {   
                    continue;   
                }   
                int last = fileName.lastIndexOf("_");// 最后一个下划线的位置   
                String filename1 = fileName.substring(0, last);   
                String filename2 = fileName.substring(last + 1, fileName   
                        .length() - 4);   
                result = filename1 + "," + filename2 + ",file:/" + path + "\\"  
                        + fileName + ",4,false";   
                System.out.println(result);   
            }   
  
        }   
    }   
  
    public List<String> getFileList(String path)   
    {   
        path = getFormatPath(path);   
        path = path + "/";   
        File filePath = new File(path);   
        if (!filePath.isDirectory())   
        {   
            return null;   
        }   
        String[] filelist = filePath.list();   
        List<String> filelistFilter = new ArrayList<String>();   
  
        for (int i = 0; i < filelist.length; i++)   
        {   
            String tempfilename = getFormatPath(path + filelist[i]);   
            filelistFilter.add(tempfilename);   
        }   
        return filelistFilter;   
    }   
  
    public String getString(Object object)   
    {   
        if (object == null)   
        {   
            return "";   
        }   
        return String.valueOf(object);   
    }   
  
    public String getFormatPath(String path)   
    {   
        path = path.replaceAll("\\\\", "/");   
        path = path.replaceAll("//", "/");   
        return path;   
    }   
  
    public static void main(String[] args)   
    {   
        /*替换成你的插件的安装目录*/ 
        String plugin = "D:\\MyEclipse 10\\MyEclipse 10\\dropins\\plugins";
        new CreatePluginsConfig().print(plugin);   
    }   
}

4.重启MyEclipse,配置 jadclipse

在Eclipse 的Windows—> Perferences—>General->Editors->File Associations 中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。如果没有*.class,则点击“add"增加一个。

安装设置完毕,可以双击class文件。

资源下载地址:    jadstar158.zip (233 KB)

net.sf.jadclipse_3.3.0.jar (44 KB)

如果遇到如下错误,解决方式:

eclipse中添加jad插件

1. 下载jad: http://www.softpedia.com/progDownload/JAD-Download-85911.html

下载后, 将解压后的jad.exe放到某个目录下, 如: D:java/jad.exe(后面会用到这个路径)

2. 下载jadClipse插件: http://sourceforge.net/projects/jadclipse/files/

将解压后的jar文件放到Eclipse的plugins子目录下

3. 重启eclipse

4. 配置JadClipse:

打开Windows ->Preferences -> Java -> JadClipse选项, 在path to decomplier: 文本框中写入D:\java\jad.exe(先前下载jad.exe的路径)

然后,点击确定, 重启eclipse即可完成jad插件的添加

另外, 出现如下问题, 多半是JadClipse没有配置好, 按上述步骤配置即可解决问题.

/*jadclipse*/

/*  DECOMPILATION REPORT

 Decompiled from: D:\workspace\MyEclipse 8.5\BeanUtilsTest\lib\commons-beanutils-1.8.3.jar  Total time: 3 ms  Jad reported messages/errors:  Exit status: 0  Caught exceptions: java.io.IOException: Cannot run program "D:\java" (in directory "C:\Users\administrator\.net.sf.jadclipse\1372683520891"): CreateProcess error=5, ¾ܾø·Ã  at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)  at java.lang.Runtime.exe*(Runtime.java:593)  at net.sf.jadclipse.JadDecompiler.decompile(JadDecompiler.java:160)  at net.sf.jadclipse.JadDecompiler.decompileFromArchive(JadDecompiler.java:217)  at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:150)  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:342)  at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:632)  at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)  at org.eclipse.core.runtime.Platform.run(Platform.java:888)  at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:621)  at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3527)  at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:614)  at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2869)  at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)  at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)  at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)  at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)  at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)  at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)  at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)  at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:374)  at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:178)  at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)  at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)  at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlink.open(JavaElementHyperlink.java:74)  at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseUp(HyperlinkManager.java:406)  at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:207)  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:3910)  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)  at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)  at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)  at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)  at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)  at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)  at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)  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:194)  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:368)  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  at java.lang.reflect.Method.invoke(Method.java:597)  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)  at org.eclipse.equinox.launcher.Main.run(Main.java:1311) Caused by: java.io.IOException: CreateProcess error=5, ¾ܾø·Ã  at java.lang.ProcessImpl.create(Native Method)  at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)  at java.lang.ProcessImpl.start(ProcessImpl.java:30)  at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)  ... 54 more

*/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件开发

MyBatis学习总结(一)——ORM概要与MyBatis快速起步

程序员应该将核心关注点放在业务上,而不应该将时间过多的浪费在CRUD中,多数的ORM框架都把增加、修改与删除做得非常不错了,然后数据库中查询无疑是使用频次最高、...

11510
来自专栏流媒体人生

ATL源码学习2---聚合的支持

1.COM组件聚合由来      聚合源自组件重用。当有两个组件A和B,他们分别实现了自己的接口IA和IB。如果有 一个客户程序创建了A对象使得自己可以调用I...

9820
来自专栏逸鹏说道

C# 温故而知新:Stream篇(四)下

上面的例子是将一个文件作为整体进行操作,这样会带来一个问题,当文件很大或者网络不是很稳定的时候会发生意想不到的错误 那我们该怎么解决...

34250
来自专栏GreenLeaves

存储过程详解

存储过程简介 什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表...

226100
来自专栏java闲聊

MongoDB数据库 5分钟快速上手

18030
来自专栏CaiRui

flask + pymysql操作Mysql数据库

安装flask-sqlalchemy、pymysql模块 pip install flask-sqlalchemy pymysql  ### Flask-SQL...

62690
来自专栏PingCAP的专栏

TiDB 源码阅读系列文章(十)Chunk 和执行框架简介

Chunk 本质上是 Column 的集合,它负责连续的在内存中存储同一列的数据,接下来我们看看 Column 的实现。

5.7K1450
来自专栏Golang语言社区

Git 项目推荐 | Go 语言读写 INI 文件工具包

原文 http://git.oschina.net/Unknown/ini 主题 Git Go语言 本包提供了 Go 语言中读写 INI 文件的功能。 功能特...

1.4K120
来自专栏Seebug漏洞平台

从WordPress SQLi谈PHP格式化字符串问题

0x00 背 景 近日,WordPress爆出了一个SQLi漏洞,漏洞发生在WP的后台上传图片的位置,通过修改图片在数据库中的参数,以及利用php的 sp...

36980
来自专栏Java3y

权限管理系统

前言 前面我们做的小项目都是一个表的,业务代码也相对简单。现在我们来做一个权限管理系统,体验一下多表的业务逻辑,顺便巩固一下过滤器的知识。! ---- 目的 现...

30160

扫码关注云+社区

领取腾讯云代金券