• 为myeclipse和eclipse安装Java反编译插件


     插件所需包

    1.解压jad1.5.8g.zip.将jad.exe放到jre的bin目录下,下载地址: http://ishare.iask.sina.com.cn/f/15708995.html?from=dl

    如笔者在D:\program files\Java\jre6\bin下

    2.安装jadeclipse 下载地址 http://jaist.dl.sourceforge.net/sourceforge/jadclipse/net.sf.jadclipse_3.3.0.jar

    将jadclipse_3.1.0.jar复制插件目录
    个人机器上环境为myeclipse版本为7.5,eclipse版本为3.3.其它版本方式一致.
    eclipse安装目录的\plugins目录下,如笔者:D:\program files\eclipse\plugins
    myeclipse拷贝到Common\plugins目录下,如笔者:D:\program files\Genuitec\Common\plugins

    对于eclipse安装

    如下: Windows —>  Perference —> Java下面应该会多出一个JadClipse目录,,相关的设置可以在此修改配置jadclipse:

    设置path to decompiler为jad.exe的全路径,如笔者的:D:\program files\Java\jre6\bin\jad.exe

    如果存在中文反编译的问题则点击Window > Preferences > Java > JadClipse > Misc,将Convert Unicode strings into ANSI strings选项打勾。

    至此插件安装成功,点击class文件即可查看源码,如图查看mongodb的源码

    对于myeclipse安装

    MyEclipse自从7.0后就不再提供link安装,而是采用在bundles.info文件写入配置信息的方式安装插件。具体步骤如下:

    1.下载你需要的安装的插件,其结构需要与link安装时候一致:

          +yourPluginName (你的插件文件名--父)

                +----plugins  (默认需要的文件夹--子)

                +----features  (默认需要的文件夹--子)

    eg.我的文件结构为

          +jadplugin

               + ------features

               +-------plugins

    2.将插件文件夹复制到自定义插件文件夹(就是你自己便于管理,自建的文件夹,D:\program files\Genuitec\Common\jadplugin\plugins下)

    3.利用myeclipse新建一个java文件,代码如下:

    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    
    //MyEclipse 7.5 插件配置代码生成器
    public class PluginUtil {
    
        public PluginUtil() {
        }
    
        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 内容即为你所要安装插件的绝对路径。安装时只需要换成自己的插件路径即可 */
            String plugin = "D:/Program Files//Genuitec/Common/jadplugin";
            new PluginUtil().print(plugin);
        }
    }

    4.运行上述代码,

    5.将控制台输出的内容全部复制到D:/Program Files/Genuitec/MyEclipse 7.5/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info文件中。
    5.重启myeclipse完成安装。

    后面的配置和eclipse安装中的一致.

    在线交谈

  • 相关阅读:
    禅道导出的CSV文件打开为乱码的解决方法
    谈谈微信支付曝出的漏洞
    阿里云ACE深圳同城会 开始报名
    CSS 埋点统计
    How to use “svn add” recursively in Linux shell?
    Java反序列化漏洞执行命令回显实现及Exploit下载
    在线测试 ssl 安全性
    检测一下你的专业指数:2015年十大测试工具你认识几个?
    nginx用户认证配置( Basic HTTP authentication)
    FTP基础知识 FTP port(主动模式) pasv(被动模式) 及如何映射FTP
  • 原文地址:https://www.cnblogs.com/dennisit/p/2882599.html
Copyright © 2020-2023  润新知