在eclipse上安装反编译插件的步骤






Mac的朋友如最近在使用eclipse3.4以上版本做开发,对于想使用jadclipse反编译的想必会遇到jad.exe在mac下无法使用的麻烦。

 

苦于寻找,发现了jode的eclipse反编译插件,但又发现官方网站上说只支持eclipse3.3以下版本。没办法只能继续寻找,最终发现了jd-eclipse这款插件,官方说速度是最快的,但反编译出来的内容不能象jadclipse那样按eclipse风格格式化,不过终究能用,也罢。

 

Install的地址:

http://java.decompiler.free.fr/jd-eclipse/update






http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-jdeclipse/index.html

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-jdeclipse/index.html

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-jdeclipse/index.html




应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译

高级语言源程序经过编译变成可执行文件,反向编译就是其逆过程。但是由于反向编译的复杂性,通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。本文介绍了如何应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译,这种方法简单实用,运用 JD-Eclipse 插件应用于 RFT,使 RFT 具有更多方面的应用,方便了用户对 .class 文件的操作,不需要单独应用反向编译器进行方向编译的工作。

宋 强, 软件工程师, IBM

2012 年 9 月 03 日

  • +内容

概述

反编译是一个将目标代码转换成源代码的过程。而目标代码是一种用语言表示的代码 , 这种语言能通过实机或虚拟机直接执行。文本所要介绍的 JD-Eclipse 是一款反编译的开源软件,它是应用于 Eclipse 开发平台的插件,它可以帮助开发人员在调试程序的过程中显示所有的 Java 源代码,方便了开发人员的开发工作。

JD-Eclipse 的安装及配置

高级语言源程序经过编译变成可执行文件,反向编译就是其逆过程。但是由于反向编译的复杂性,通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。本文介绍了如何应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译,这种方法简单实用,运用 JD-Eclipse 插件应用于 RFT,使 RFT 具有更多方面的应用,方便了用户对 .class 文件的操作,不需要单独应用反向编译器进行方向编译的工作。

当 C 编译器编译生成一个对象的目标代码是,该目标代码是为某一个特定的硬件平台运行而产生的,在编译过程中,编译程序通过查表将所有符号的引用转换为特定的内存编译量。目标代码只能在特定的 CPU 上运行。而 Java 编译器为了保证目标代码的可移植性,并不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由 Java 虚拟机在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。由于其相对简单的 Java 虚拟机和规范的字节码格式,由 Java 字节码反编译成源代码的过程相对于 C 语言来说要简单,所以当前反编译 Java 程序非常流行。

目前有多种对于 Java 的反编译软件,下面本文将介绍一款开源的反编译软件 JD-Eclipse。JD-Eclipse 是一个插件 Eclipse 平台。它允许您调试所有的 Java 源代码。为了能够更为详实的说明 JD-Eclipse 的应用方法,下面主要介绍了 JD-Eclipse 的安装及配置过程,使开发人员能够更为快捷便利地使用。

目前有两种方式进行安装 JD-Eclipse 插件。第一种是利用 RFT 中“安装更新软件”的选项进行安装;下面本文将主要介绍手动安装的安装方法。

1. 下载相应的安装文件:jd.ide.eclipse_X.X.X.jar;jd.ide.eclipse.win32.x86_ X.X.X.jar;jd.edi.eclipse.feature_X.X.X.jar。其中 JD-Eclipse 插件提供了 Liunx,Mac 平台的相应的 jar 文件,本文以 Windows 平台为例作介绍。

2. 将 jd.ide.eclipse_X.X.X.jar;jd.ide.eclipse.win32.x86_ X.X.X.jar 这两个 jar 文件拷到安装 RFT 的文件夹中 plugins 的路径下面。

图 1. 拷入 jar 文件到 plugins 中
图 1. 拷入 jar 文件到 plugins 中

3. 将 jd.edi.eclipse.feature_X.X.X.jar 文件拷到安装 RFT 的文件夹中 features 的路径下面。

图 2. 拷入 jar 文件到 features 中
图 2. 拷入 jar 文件到 features 中

4. 重新启动 RFT。

5. 打开 RFT,Windows->Preferences->General->Editors->File Assciation,将 Class File Editor 设置为 default。

图 3. 设置默认显示
图 3. 设置默认显示

对于存在原始码的类,他不会强行反编译,也就是说他还是会用 eclipse 自带的 Class File Viewer 查看 class 文件。

JD-Eclipse 的使用及相关讨论

首先本节介绍了 JD-Eclipse 的应用方法,然后通过一个具体的应用实例来介绍 JD-Eclipse 的具体使用方法。文本采用 RFT 作为 Java 的开发平台,所以 JD-Eclipse 是安装在 RFT 上的一个插件进行相关讨论的。

一、JD-Eclipse 的应用方法

首先需要将反编译的文件打成 jar 的 java 包。

例如将文件 JavaTest 打成一个包,JavaTest 文件中有许多的 .class 文件。

图 4. Java 中的 .class 文件
图 4. Java 中的 .class 文件

jar 包生成方法如下面步骤所示。

1. 导入相应的工程。

2. 选择 Flie->Export->Jar file。

图 5. 选择 Jar 文件
图 5. 选择 Jar 文件

3. 将 .class 文件导入并选择存储地址。

图 6. 导入工程
图 6. 导入工程

4. 生成一个 javatest.jar 文件

图 7. 生成 Jar 文件
图 7. 生成 Jar 文件

二、JD-Eclipse 的应用实例

生成 jar 文件后需要将 jar 文件构建到工程文件中。

图 8 是没有反编译之前的所看到的文件内容。开发人员不能看到 .class 文件中的信息,对于开发人员调试代码带来的相对复杂的问题。

图 8. 反编译前的 .class 文件显示信息
图 8. 反编译前的 .class 文件显示信息

采用 JD-Eclipse 插件后,可以清楚地显示出文件内容,方便开发人员的工作,也增强了开发人员在使用 RFT 过程中的方便程度。

清单 1. 以“CapturePlayback.class”为为例显示的部分代码内容
		 import  java.awt.BasicStroke; 
		 import  java.awt.BorderLayout; 
		 import  java.awt.Color; 
		 import  java.awt.Component; 
		 import  java.awt.Container; 
		 import  java.awt.Dimension; 
		 import  java.awt.Font; 
	
		 public  CapturePlayback(){ 
		 super.setLayout(new BorderLayout()); 
		 EmptyBorder localEmptyBorder = new EmptyBorder(5, 5, 5, 5); 
		 SoftBevelBorder localSoftBevelBorder = new SoftBevelBorder(1); 
		 super.setBorder(new EmptyBorder(5, 5, 5, 5)); 
		 JPanel localJPanel1 = new JPanel(); 
		 localJPanel1.setLayout(new BoxLayout(localJPanel1, 0)); 
		 localJPanel1.add(this.formatControls); 
		 JPanel localJPanel2 = new JPanel(); 
		 localJPanel2.setBorder(localSoftBevelBorder); 
		 JPanel localJPanel3 = new JPanel(); 
		 localJPanel3.setBorder(new EmptyBorder(10, 0, 5, 0)); 
		 this.playB = addButton("Play", localJPanel3, false); 
		 this.captB = addButton("Record", localJPanel3, true); 
		 this.pausB = addButton("Pause", localJPanel3, false); 
		 this.loadB = addButton("Load...", localJPanel3, true); 
		 localJPanel2.add(localJPanel3); 
		 public class Playback implements Runnable{ 
		 SourceDataLine line; 
		 Thread thread; 
		 public void start(){ 
			 CapturePlayback.this.errStr = null; 
			 this.thread = new Thread(this); 
			 this.thread.setName("Playback"); 
			 this.thread.start(); 
		 } 
		 public void stop() { 
			 this.thread = null; 
		 } 
		 private void shutDown(String paramString) { 
			 if ((CapturePlayback.this.errStr = paramString) != null) { 
			 System.err.println(CapturePlayback.this.errStr); 
			 CapturePlayback.this.samplingGraph.repaint(); 
		 } 
		 if (this.thread != null) { 
		 this.thread = null; 
		 CapturePlayback.this.samplingGraph.stop(); 
		 CapturePlayback.this.captB.setEnabled(true); 
		 CapturePlayback.this.pausB.setEnabled(false); 
		 CapturePlayback.this.playB.setText("Play"); 
		 } 
	  } 
	 }

三、JD-GUI 的介绍

JD-Core 也提供了独立的运行软件 JD-GUI,它的功能完全与 JD-Eclipse 插件一样,方便不能使用基于 Eclipse 平台的人员查看反编译的文件。

图 9. JD-GUI 的操作界面
图 9. JD-GUI 的操作界面

将需要反编译的文件导入即可。

图 10. 导入需要反编译的文件
图 10. 导入需要反编译的文件

这款独立的运行软件提供了强大的编辑功能,方便了开发人员对于文件的编辑,处理等操作。

总结

本文向读者介绍了如何应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译,这种方法简单实用,运用 JD-Eclipse 插件应用于 RFT,使 RFT 具有更多方面的应用,方便了用户对 .class 文件的操作,不需要单独应用反向编译器进行方向编译的工作。相信 JD-Eclipse 能够帮助开发人员基于 RFT 的操作提供更为方便的插件应用,为开发人员调试程序提供一个较为便捷的方法。

参考资料 

学习

讨论





 

Mac下jdk的安装路径

  10244人阅读  评论(4)  收藏  举报
http://hi.baidu.com/liouyan9/blog/item/78fdc009b97bdac63ac76377.html

Mac下jdk的安装路径
2009-08-11 15:39

苹果系统已经包含完整的J2SE,其中就有JDK和JVM(苹果叫VM)。 
如果要在MAC系统下开发CODE。可以先装个IDE(NETBEANS/Eclipse等),而后不需要装JDK和JVM了,MAC下已经帮你下载好,安装完成,配置好路径。当然如果要升级JDK,那当然要自己下载安装了。 
在MAC系统中,jdk的安装路径与windows不同,默认目录是:/System/Libray/Frameworks/JavaVM.Framwork/。 
在这个目录下有个Versions目录,里面有不同版本的jdk。









本帖最后由 不要喊我芳名 于 2014-9-5 13:08 编辑 

今天试着在UAP-STUDIO下安装eclipse反编译插件,成功了!给大家分享下,效果如下图所示:
插件安装过程:
1、下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本,我用的是Eclipse3.7,所以选择下载版本net.sf.jadclipse_3.3.0.jar
2、下载Jad,
http://www.varaneckas.com/jad,下载相应版本
3、将下载下来的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷贝到D:\UAP-STUDIO6314\*\plugins目录即可(根据你本机的UAP-STUDIO位置)。
4、将Jad.exe拷贝到JDK安装目录下的bin文件下

5、然后,重新启动Eclipse,找到Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,会出现,如下:
在Path to decompiler中输入你刚才放置jad.exe的位置
6、基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->File Associations,默认打开方式是jadclipse
7、全部配置完毕,试试看吧!













本帖最后由 不要喊我芳名 于 2014-9-5 13:08 编辑 

今天试着在UAP-STUDIO下安装eclipse反编译插件,成功了!给大家分享下,效果如下图所示:
插件安装过程:
1、下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本,我用的是Eclipse3.7,所以选择下载版本net.sf.jadclipse_3.3.0.jar
2、下载Jad,
http://www.varaneckas.com/jad,下载相应版本
3、将下载下来的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷贝到D:\UAP-STUDIO6314\*\plugins目录即可(根据你本机的UAP-STUDIO位置)。
4、将Jad.exe拷贝到JDK安装目录下的bin文件下

5、然后,重新启动Eclipse,找到Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,会出现,如下:
在Path to decompiler中输入你刚才放置jad.exe的位置
6、基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->File Associations,默认打开方式是jadclipse
7、全部配置完毕,试试看吧!



在eclipse上安装反编译插件的步骤+用eclipse打开工作目录的配置(图文详解)

By wurihui    at 2014-05-27    56 阅读    0 回复    0.0 希赛币
在eclipse下安装反编译插件的步骤+用eclipse打开工作目录的配置(图文详解)

  一、安装反编译工具:

  1、  下载JadClipse,/Main_Page#Download ,本例使用的是net.sf.jadclipse_3.3.0.jar,如图:

  275x29

  184x30----------------解压后------>67x20

  3、将下载下来的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷贝到Eclipse下的plugins目录 

  766x253

  4、将解压后的Jad.exe拷贝到JDK安装目录下的bin文件夹下,本例的目录如下图。

  767x321

  5、 启动eclipse,help-> Software Updates/install newsoftware(根据版本不同)-> Find and Install... -> Search fornew features to install单击"NewRemote Site..." 在URL栏输入然后下一步,就可以看到“jodedecompiler plugin”,选上安装,然后根据提示重启

  667x216

  767x598

  6、 重新启动Eclipse后,进入Eclipse->Window->Preferences->Java ,此时会比原来多了一个JadClipse 的选项,这样就是安装成功了,但是有可能还不能正常使用,看下一步

  764x589

  7、最后一步,需要配置默认以jadclipse打开.class文件:Window->Preferences... -> General -> Editors -> File Associations找到"*.class"在"Associatededitors"里面可以看到"Jode class file viewer"选中它再单击Default按钮.

  

  8、然后就可以看到效果了

  

  注:反编译用到的两个插件在本人的资源里都可下载到。

  二、配置打开工作目录的方法

  1、先按如下图打开配置窗口

  

  2、如下图,鼠标选中Program,然后点击左上方的新增选项,然后会弹出如下窗口

  

  3、这个界面需要填写三个信息.

  首先是Name,该项是你指定的快捷名字,无所谓。

  然后是Location,这个地方填写c:\windows\EXPLORER.EXE,固定的,用来调用系统打开窗口的程序(我猜的)

  最后是Arguments,该项是填写要打开的目录,逗号前面的/e表示现实树状结构,也可以换成/select,你可以试试,然后逗号后面的参数

  是指定要打开的目录,该值的来源可以通过Working Directory选项下的选项来生成。具体步骤如步骤4

  4、选择Working Directory下的Browse Workspace后会弹出工作目录下的项目,选择一个后会在文本框里自动填充出路径,

  该路径表示的就是工作目录下该项目的存放目录,去掉后面的项目名,既是工作目录的路径了,然后复制到Arguments下的

  逗号后面即可。还可以自由选择想要打开的目录,点击Browse File System选项,这个就交给你做了!

  

  5、然后点击Applay,再去eclipse下看看怎么运行它吧,这时候你会发现刚刚配置的运行方式在如下图标处出现,

  点击它看看效果吧。

  

  整体效果有点乱哦^ ^















本帖最后由 不要喊我芳名 于 2014-9-5 13:08 编辑 

今天试着在UAP-STUDIO下安装eclipse反编译插件,成功了!给大家分享下,效果如下图所示:
插件安装过程:
1、下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本,我用的是Eclipse3.7,所以选择下载版本net.sf.jadclipse_3.3.0.jar
2、下载Jad,
http://www.varaneckas.com/jad,下载相应版本
3、将下载下来的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷贝到D:\UAP-STUDIO6314\*\plugins目录即可(根据你本机的UAP-STUDIO位置)。
4、将Jad.exe拷贝到JDK安装目录下的bin文件下

5、然后,重新启动Eclipse,找到Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,会出现,如下:
在Path to decompiler中输入你刚才放置jad.exe的位置
6、基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->File Associations,默认打开方式是jadclipse
7、全部配置完毕,试试看吧!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值