在线反编译java
您好,Idea反编译Java版本的步骤如下:
1. 打开Idea,在菜单栏中选择“File”,然后选择“Settings”;
2. 在左侧的菜单栏中选择“Build, Execution, Deployment”,然后在右皮团首侧的窗口中选择或兄“Compiler”;
3. 在“Compiler”窗口中,选择“Java Compiler”,然后在“Target bytecode version”中选择您想要的Java版本;
4. 最后,点击“Apply”按钮,完成Idea反编译Java版本的设置。
希望我的回答能够帮助您解决问题,如果您还有其他问题,欢迎随时咨询燃数我。
② 怎么把class文件反编译成java文件
Java中使用eclipse提供的插件对class进行反编译成java文件,如下步骤:
1、安装jadclipse插件
使用jadclipse插件一定要注意Eclipse版本。jadclipse_3.2.4,它对应的是Eclipse3.2版,jadclipse_3.3.0可以用于Eclipse3.3M6以上版。大家千万不要把jadclipse_3.3.0放到Eclipse3.2中,也不要把jadclipse_3.2.4放到Eclipse3.3中,将jadclipse插件(版本自己选择)直接到Eclipse目录中的plugins文件夹下,然后打开Eclipse,选择"窗口"-"首选项"-"常规"-"编辑器"-"文件关联",点击文件关联中的*.class,下面就会看到"JadClipse Class File Viewer",选中它,点击缺省值,点击OK,将它设置为默认的类查看器。如图:
③ java反编译
如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库、多媒体、CGI、及动态网页的制作方面。1999年在美国对JAVA程序员的需求量首次超过C++!
作者因最近分析一些JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助。
JAVA是采用一种称做“字节编码”的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型。无论哪种结构,一旦用JAVAC 命令编译后,均变成后缀为CLASS的同名可执行文件。这种文件是不可阅读的代码。
经查阅了SUN公司的JDK(JDK1.1.3)文档资料后,我找到了一个据称是可反编译JAVA的JAVAP文件(EXE),这个文件位于\JDK\BIN\ 下面,经按说明使用后,感到失望,原来这个“反编译”仅可反编译出JAVA程序的数据区(定义)、若干方法和类的引用等。
这里我用了一个简单例子来说明问题。
JAVA的源程序hello_java.java如下:
import java.applet.*;
import java.awt.*;
public class hello_java extends Applet
{
public void paint(Graphics g)
{
g.drawString("Hello Java!\n",20,20);
}
}
经用反编译命令:javap -c -package -public -private hello_java hello.java
得到的反编译结果(hello.java)如下:(有关javap命令的选择参数请见其使用说明,这里-c表示选择了反编译)
Compiled from hello_java.java
public synchronized class hello_java extends java.applet.Applet
/* ACC_SUPER bit set */
{
public void paint(java.awt.Graphics);
public hello_java();
Method void paint(java.awt.Graphics)
0 aload_1
1 ldc #1
3 bipush 20
5 bipush 20
7 invokevirtual #6
10 return
Method hello_java()
0 aload_0
1 invokespecial #5 ()V>
4 return
}
④ JAVA反编译软件
由于JAVA语言安全性高、代码优化、跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。
不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。
为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。
目前,比较流行的JAVA反编译工具有近30种,其中有三款堪称精品:
一、 应用广泛的JAD
在众多的JAVA反编译工具中,有几种非常着名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和国产的JAVA源代码反编译专家。
JAD本身是一个命令行工具,没有图形界面,上述的这些工具大多是在JAD内核的基础之上加了一个图形界面而已。这么多种产品的共同选择,足可证明JAD在JAVA反编译领域中的尊贵地位。
JAD是使用Microsoft Visual C++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。由于JAD参数太多,没必要一一解释,其中有几个最常用的如下(以JAD 1.5.8f版本为例):
-d
- 用于指定输出文件的目录
-s - 输出文件扩展名(默认为: .jad),通常都会把输出文件扩展名直接指定为.java,以方便修改的重新编译。
-8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。
最常用的反编译指令如下所示:
Jad –d c:\javasource –s .java -8 javatest.class
这条指令将当前目录下的javatest.class反编译为javatest.java并保存在c:\javasource目录里,其中的提示输出为中文,而不是Unicode代码。
二、 源码开放的JODE
JODE是全球最大的开源项目网站Sourceforge.net的成员,在所有的JAVA反编译器中,JODE的反编译效果是最好的,尤其是对付一些常见的加密手段,例如混淆技术等,更是出类拔粹。
JODE本身也是纯JAVA开发的,最近越来越多的JAVA反编译软件也选择JODE来做它们的核心引擎,例如JCavaj Java Decompiler、BTJ (Back To Java)、jEdit’s JavaInsight plugin等。
JODE是一个可运行的JAR文件,在windows环境下双击即可运行。
需要特别说明的是,JODE不是通过常规的Open->File的方式来加载JAVA编译后的类文件(*.class)或是类包(*.jar)的, 而是通过在Options菜单中的Set Classpath来实现的,单独的类文件可以将它的上一级目录作为Classpath输入,然后再选择Reload Classpath即可。
新加入的类包或是类的名字会在左侧窗口出现,双击类包名可以展开目录树结构,双击需要反编译的类名则在右上角的窗口中直接显示反编译后的源代码。
三、 独树一帜的DAVA
DAVA不是一个独立的JAVA反编译器,而是JAVA代码优化工具Soot的一部分。Soot和JODE一样是纯JAVA开发的,也是一个独立的JAR包,但却不能通过双击直接运行,而是象JAD一样在命令行状态运行。
Soot对环境变量的配置要求非常严格,通常情况下要对CLASSPATH做如下设置:
Set CLASSPATH=%CLASSPATH%;c:\sootdir\sootclasses-2.1.0.jar;.;
其中的c:\sootdir\是下载的soot类包放置的路径,CLASSPATH末尾的.;代表了当前目录,如果不加上这个的话Soot经常会报一个找不到类的错误。
DAVA是作为Soot的一个参数使用的,通常的用法如下:
Java soot.Main –f dava –d c:\javasource javatest
注意最后的类名不用带.class后缀,因为它默认是处理class文件,这个操作与前述的JAD的参数效果相同。
DAVA采取了流程优化的方式进行反编译,与传统反编译思路不尽相同,但却对改变流程类的加密方法有独特的反编译效果。
上述的三种工具各有千秋,但效果都非常不错。经测试,它们基本上都可以把JDK自带的一些例程完全反编译,然后不加任何修改可再编译成功,并能正常运行!
⑤ Java的反编译命令是什么
用jd gui可以直接反编译class为java代码。
java中的“反编译”命令是用来查看class文件的。
在jdk/bin的目录下有个叫做javap的命令行工具。主要是在分析Class文件的时候比较有用。
⑥ 谈谈JAVA的反编译
作者因最近分析一些JAVA程序 对JAVA的反编译进行了一番了解 下面将我所了解的情况作以下介绍 希望对JAVA爱好者有所帮助 JAVA是采用一种称做 字节编码 的程序结构 分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型 无论哪种结构 一旦用JAVAC 命令编译后 均变成后缀为CLASS的同名可执行文件 这种文件是不可阅读的代码 经查阅了SUN公司的JDK(JDK )文档资料后 我找到了一个据称是可反编译JAVA的JAVAP文件(EXE) 这个文件位于JDKBIN 下面 经按说明使用后 感到失望 原来这个 反编译 仅可反编译出JAVA程序的数据区(定义) 若干方法和类的引用等 这里我用了一个简单例子来说明问题 JAVA的源程序hello_java java如下 import java applet *;import java awt *;public class hello_java extends Applet{public void paint(Graphics g){g drawString( Hello Java!n );}} 经用反编译命令 javap c package public private hello_java hello java 得到的反编译结果(hello java)如下 (有关javap命令的选择参数请见其使用说明 这里 c表示选择了反编译)Compiled from hello_java javapublic synchronized class hello_java extends java applet Applet /* ACC_SUPER bit set */{public void paint(java awt Graphics);public hello_java();Method void paint(java awt Graphics) aload_ ldc # bipush bipush invokevirtual # returnMethod hello_java() aload_ invokespecial # ()V > return}从上述结果不难看出该反编译未能将源程序全译出来 像语句g drawString( Hello Java!n ); 就没有 随着程序量增加 未能编译的JAVA语句还会更多 所以这个反编译程序仅能起个参考作用 幸亏有了INTERNET 笔者通过YAHOO很快找到了一个JAVA反编译 自由软件 (SHAREWARE) 这个软件叫MOCHA 据说是一位 来岁的加拿大的研究生所完成 仅是个 ? 版 原因是这位叫做H P VAN VLIET的小伙子患癌逝世了 十分可惜呀!经使用MOCHA反编译软件 感到这个软件十分好用 笔者试反编译多个JAVA程序 均得到很好的结果 这里给出如何使用这个软件 首先 用WINZIP等将 mocha b zip 解开得到 mocha zip 文件 mocha zip 不须再解开 这个包内包括了反编译的类文件 只需将其拷贝到JDK所在的目录下 如 c:jdkbin 此外 须设置路径 SET CLASSPATH=c:myclasses;c:jdkbinmocha zipMOCHA用法 java mocha Depiler [ v] [ o] Class class Class class java 调用Java虚拟机 mocha Depiler 指示要进行JAVA反编译 v 选择详细输出 o 选写入已有的 mocha 文件 ClassX class 指出要反编译类名注意 不需给出输出的JAVA文件名 因为MOCHA自动产生一个与CLASS同名但扩展名为MOCHA的JAVA源文件 对于上例 可用命令 java mocha Depiler [ v] [ o] hello_java class得到的源文件 /* Depiled by Mocha from hello_java class *//* Originally piled from hello_java java */import java applet Applet;import java awt Graphics;public synchronized class hello_java extends Applet{public void paint(Graphics g){g drawString( Hello Java!n );}public hello_java(){}}我们不难发现 此文件与编译前的JAVA源文件完全一样!笔者曾经用MOCHA反编译出最大为 K的源文件 均取得成功 在此 笔者向英年早逝的VLIET表示敬意 感谢他给我们留下这个工具软件 如读者下载MOCHA有困难 可给笔者来电子邮件 笔者可将MOCHA寄去 参考文献 ) ) ) ) lishixin/Article/program/Java/Javascript/201311/25331
⑦ java的反编译怎么使用,说具体点
1.下载jad1.5.8e
http://www.kps.com/jad.html#download
下载后解压。解压缩后将jad.exe拷贝到JRE的bin目录下,如\Java\jre1.5.0_06\bin
2.下载 jadclipse_3.1.0.jar
http://jaist.dl.sourceforge.net/sourceforge/jadclipse/jadclipse_3.1.0.jar
将jadclipse_3.1.0.jar复制到D:\Program Files\eclipse\myplugin\eclipse\plugins目录下(用的是
link方式安装插件的)。
3.启动Eclipse后,在Windows-->Perference-->Java下面应该会多出一个JadClipse目录,相关的设置可
以在此修改
配置jadclipse:设置path to decompiler为jad.exe的全路径,如:F:\Java\jre1.5.0_06\bin\jad.exe
,在Directory for temporary files中指定临时文件的路径,如:G:\Java\eclipse-SDK-3.0-win32\temp
4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改“*.class”默
认关联的编辑器为“JadClipse Class File Viewer”
5、安装完成,双击class文件,Eclipse将自动反编译了。
⑧ jd-gui反编译java文件怎么操作
这期教程是为各位讲解在jd-gui反编译java文件的详细步骤旅猜,感兴趣的拆轿型就赶紧去下文学习下吧,相信你们会喜欢。
网络搜索,下载并安装jd-gui工具。
运行jd-gui.exe,进入主界面。
点击菜单栏“File”下的子菜单“OpenFile”,在弹出框中选择.class文件。也可以拖动.class文件进入jd-gui中。
选择的.class文件以及整个目录结构下的文件都会反编译成java文件。
点击“File”下的“SaveSource”,保存当前选择的单个文帆配件。
点击“File”下的“SaveAllSources”,保存所有的文件成zip文件。
解压zip文件,所有的java文件就生成了。
⑨ 谁有Java反编译工具的具体方法啊
应该是在Eclipse安装Java反编译工具吧,过程很简单:
1、下载jad.exe以及jadclipse_xxx.jar。(注意xxx表示版本,最好先看看你的Eclipse版本,然后网站搜索对应jar包以及jad.exe版本)
2、把jadclipse_xxx.jar放在Eclipse根目录plugins文件夹里、把jad.exe放在jdk根目录bin文件夹里。
3、设置参数(Eclipse):Window->Preferences->Java->JadClipse-->Path to decompiler,指向jad.exe的目录。
4、配置*.class文件关联(Eclipse):Windows-->Perference-->General-->Editors-->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。
⑩ java反编译的几种方式
第一种方式:Help——Eclipse Marketplace
安装eclipse自带的插件( Decompiler )
第二种方式:使用反编译工具(XJad2.2等)
第三种方式:在cmd中的输入javap -verbose HellloWorld.class 回车,此处的HelloWorld.class为自己创建的HelloWorld.java编译后的class文件