自己使用JadClipse插件反编译的软件是jad,这个软件的反编译能力真的很不怎么样,然后我还是选择了自己以前用的jd-gui
下面是反编译对比
jad反编译结果:
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { checkAndPrepare(request, response, this instanceof LastModified); if(!synchronizeOnSession) goto _L2; else goto _L1 _L1: javax.servlet.http.HttpSession session = request.getSession(false); if(session == null) goto _L2; else goto _L3 _L3: Object mutex = WebUtils.getSessionMutex(session); Object obj = mutex; JVM INSTR monitorenter ; return handleRequestInternal(request, response); obj; JVM INSTR monitorexit ; throw ; _L2: return handleRequestInternal(request, response); }下面是jd-gui反编译结果:
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { // Delegate to WebContentGenerator for checking and preparing. checkAndPrepare(request, response, this instanceof LastModified); // Execute handleRequestInternal in synchronized block if required. if (this.synchronizeOnSession) { HttpSession session = request.getSession(false); if (session != null) { Object mutex = WebUtils.getSessionMutex(session); synchronized (mutex) { return handleRequestInternal(request, response); } } } return handleRequestInternal(request, response); }
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Eclipse的反编译插件一直在用jad,感觉很不错。
刚下了个新版的eclipse,配置jad的时候发现要多设置个东西。
从头开始
环境介绍:
eclipse version:Kepler Release(其实是3.9)
jadClipse version:3.3(好久好久以前的版本了,估计是也没有什么好更新了)
1.下载jadClipse
http://sourceforge.net/projects/jadclipse/
2.将net.sf.jadclipse_3.3.0.jar 拷贝到eclipse的plugins目录下
4.如果你发现进入class并没有被反编译,那么修改文件关联
注意,这里有两个.class的关联,可以直接修改第二个就是没有源代码的情况,Associated editors下添加一个编辑器,并且设置为默认的,如下图。
5.我之前下的一些eclipse并没有.class without source项,这时候就在.class 下添加jad的编辑器并且设置为默认。
6.如果你没有下载到jad.exe 或者jad.jar,附件中的压缩文件有这些东西。
http://tangmingjie2009.iteye.com/blog/1916992