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

反编译class文件

发布时间:2022-02-08 17:01:52

❶ 如何反编译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的包层级,类,方法等等,十分方便。

❷ 如何反编译并修改class文件

反编译后,修改源码,再编译。

❸ .java格式的文件怎么反编译回.class文件

1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2;
2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件;
3、带有多页面文本编辑器,也可集成在资源管理器中,随时点击右键都可进行操作;
4、支持java语法的高亮显示;
二、EcliPSe
Myeclipse 11 v2013 正式版http://www.cr173.com/soft/66929.html
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开元产品的专属eclipse开发工 具。

❹ 怎样将.java文件反编译成.class文件 具体的步骤是怎么样的

直接用javac编译就行了,你不会是刚学java吧,还反编译呢,呵呵,开个玩笑

❺ 将.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

❻ 混淆的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文件中搜索某个字段

ctrl+h?这不是在本页面搜索吗?那你当然是要去某个确定的页面了。

❽ 如何吧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。

❾ 如何将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没有参数可以去掉它,用别的办法吧。

阅读全文

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

热点内容
怎么建个秘密文件夹 浏览:198
498除以八列竖式计算法 浏览:903
腾讯云服务器能连接吗 浏览:609
数控编程开始对刀位置规定 浏览:482
吃鸡中的远程服务器怎么使用 浏览:658
如何给饭卡加密 浏览:47
小林写的python 浏览:913
装修门户网站源码 浏览:755
安装海龟编译器 浏览:744
金先生下了命令 浏览:792
编译错误c2601 浏览:170
h5斗地主游戏源码 浏览:577
我的解压游戏怎么获得全地图 浏览:907
三把斧app怎么下载 浏览:388
内网ntp时间同步服务器地址 浏览:185
香肠派对脚本源码 浏览:94
jsp服务器怎么转发 浏览:860
服务器和网站开发有什么区别 浏览:766
如何下载测试服务器 浏览:181
怎么教育孩子的app 浏览:174