导航:首页 > 源码编译 > class文件反编译

class文件反编译

发布时间:2022-02-01 00:33:03

A. 怎么反编译java的class文件

工具:

DJ java discompiler.

方法:

  1. 打开DJ_java_discompiler,点左上角的file,选择open。

B. 如何将class文件反编译为java代码

jdgui 最简单易用的反编译工具, 直接把class拖进去 就可以看到.java代码了, 附件已经上传, 电脑打开可以下载

C. 如何将java中的.class文件反编译

安装Java jdk后
看安装目录里有没有jad.exe,没有要下载,一般都有的
配置Java环境变量
开始-运行-cmd-回车-进入命令行窗口:
cd+空格+class文件所在路径:
按下面的命令进行反编译:
例如:[2] jad -sjava example.class 回车
在目录里可以看到example.java源文件

[1] 反编译一个class文件:jad example.class,会生成example.jad,用文本编辑器打开就是java源代码
[2] 指定生成源代码的后缀名:jad -sjava example.class,生成example.java
[3] 改变生成的源代码的名称,可以先使用-p将反编译后的源代码输出到控制台窗口,然后使用重定向,输出到文件:jad -p example.class > myexample.java
[4] 把源代码文件输出到指定的目录:jad -dnewdir -sjava example.class,在newdir目录下生成example.java
[5] 把packages目录下的class文件全部反编译:jad -sjava packages/*.class
[6] 把packages目录以及子目录下的文件全部反编译:jad -sjava packages/**/*.class,不过你仍然会发现所有的源代码文件被放到了同一个文件中,没有按照class文件的包路径建立起路径
[7] 把packages目录以及子目录下的文件全部反编译并建立和java包一致的文件夹路径,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 当重复使用命令反编译时,Jad会提示“whether you want to overwrite it or not”,使用-o可以强制覆盖旧文件

[9] 还有其他的参数可以设置生成的源代码的格式,可以输入jad命令查看帮助,这里有个人做了简单的翻译:jad命令总结
[10] 当然,你会发现有些源文件头部有些注释信息,不用找了,jad没有参数可以去掉它,用别的办法吧。

D. 如何吧class文件反编译为java文件

项目WAR文件不含java源文件,只有.class文件,如何将WAR项目导入到MyEclipse中去??

我的做法:将WAR中的.class文件反编译成.java文件,反编译软件我用的是Java Decompiler", 由 Pavel
Kouznetsov开发,目前最新版本为0.2.5.它由 C++开发,并且官方可以下载 windows、linux和苹果Mac
Os三个平台的可执行程序。

如何将现有的web程序导入到myeclipse环境中去

如果要将别人发布的war包,导入到自己的eclipse环境中进行再开发,最快的方法如下:

1、新建一个myeclipse的web project。

2、右键该工程,myeclipse/add struts capability,设置成struts开发环境。

3、将war包解压,全目录覆盖新工程的WebRoot(包括其中的web-inf/meta-inf目录),相应的scr目录(或者对应的包含java文件的目录)覆盖eclipse的src目录。myeclipse会自动将WEB-INF\lib下的jar包作为放到classpath中的。
4、refresh该工程,over。

E. 怎么把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,将它设置为默认的类查看器。如图:

F. java 只有class文件怎么反编译

一般的class用反编译能够看到其源代码,而且其反编译的源代码甚至可能好于本身源代码(尤其是对于逻辑处理和字符串处理)
然而涉及到exception等东西的时候可能会有问题,但是你把它放到ide里面修改一下就可以了,生成的class文件也是可行的,但是关键的一点,编译环境最好与之前的编译环境一样,否则高版本的java生成的class也许在低版本中无法调用

G. 将.class文件反编译成.java文件都有哪些工具

反编译工具jad简单用法
以下假设jad.exe在c:\java目录下

一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o
不提示,覆盖源文件

三、Option -s
c:\java\>jad -sjava example1.class
反编译结果以.java为扩展名。

四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class
将反编译结果重定向到文件
c:\java\>jad -p example1.class>example1.java

五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class

H. 如何反编译class文件,简单快速

搜索关键词“jd-gui”,点击进入jd-gui的官方网站。
(1)点击“JD-GUI”链接
(2)点击“Download”链接
(3)点击选择您要下载的版本,如果为windows系统请选择"xxx.windows.zip",如果为苹果或linux系统则选择其他的下载链接。

(1)下载后进行解压
(2)双击“jd-gui.exe”文件
(3)找到您要反编译的class文件。
(4)用鼠标拖拽到jd-gui软件的灰色区域。

此时可以看到,class文件被反编译为了java文件,并且代码格式很好。
在右侧可以看到java的包层级,类,方法等等,十分方便。

I. 如何将.class文件反编译为.java文件

反编译工具jad简单用法
以下假设jad.exe在c:\java目录下

一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o
不提示,覆盖源文件

三、Option -s
c:\java\>jad -sjava example1.class
反编译结果以.java为扩展名。

四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class
将反编译结果重定向到文件
c:\java\>jad -p example1.class>example1.java

五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class
ps:这里是下载地址,不行的话可以加我的qq。349316367。我传给你。什么?谢谢?呵呵,客气。

J. 混淆的class文件怎么进行反编译

一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。
从研究的角度,浅析如何读懂这种反编译过来的文件。
例子一:赋值
反编译过来的代码如下:
Node node;
Node node1 = _$3.getChildNodes().item(0);
node1;
node1;
JVM INSTR swap ;
node;
getChildNodes();
0;
item();
getChildNodes();
0;
item();
getNodeValue();
String s;
s;
原始语句:
Node node;
Node node1 = currDocument.getChildNodes().item(0);
node = node1;
String s = node.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();
注解:
JVM INSTR swap ; //赋值语句
练习:
String s1;
String s8 = node.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();
s8;
s8;
JVM INSTR swap ;
s1;
10;
Integer.parseInt();
int i;
i;

例子二:不带参数创建对象
反编译过来的代码如下:
JVM INSTR new #244 ;
JVM INSTR p ;
JVM INSTR swap ;
CrossTable();
CrossTable crosstable;
crosstable;
原始语句:
CrossTable crosstable = new CrossTable();
注解:
练习:
JVM INSTR new #246 ;
JVM INSTR p ;
JVM INSTR swap ;
Database();
Object obj;
obj;
例子三:带参数创建对象
反编译过来的代码如下:
JVM INSTR new #262 ;
JVM INSTR p ;
JVM INSTR swap ;
String.valueOf(s2);
StringBuffer();
s.substring(j, i);
append();
s6;
append();
toString();
s2;

原始语句:
s2 = (new StringBuffer(String.valueOf(s2))).append(s.substring(j, i)).append(s6).toString();
注解:
此语句实际上是:s2 += s.substring(j, i) + s6;
练习:
例子四:for循环
反编译过来的代码如下:
int k = 0;
goto _L4
_L8:
...
k++;
_L4:
if(k < as.length) goto _L8; else goto _L7
原始语句:
for(int k=0;k < as.length;k++)
{
...
}
注解:
例子五:while循环
反编译过来的代码如下:
String s1 = "";
goto _L1
_L3:
JVM INSTR new #262 ;
JVM INSTR p ;
JVM INSTR swap ;
String.valueOf(s1);
StringBuffer();
_$2(resultset, s, l);
append();
toString();
s1;
_L1:
if(resultset.next()) goto _L3; else goto _L2
原始语句:
String s1 = "";
while(resultset.next())
{
s1 = s1 + resultSetToString(resultset, s, l);
}

阅读全文

与class文件反编译相关的资料

热点内容
android图片变灰 浏览:268
linuxvi下一个 浏览:973
安卓手机的应用锁怎么解 浏览:735
linux增加路径 浏览:849
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:856
光遇安卓军大衣什么时候上线 浏览:840
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:13
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:823
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246