導航:首頁 > 源碼編譯 > 反編譯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文件相關的資料

熱點內容
如何重設伺服器網關 瀏覽:862
世界經濟pdf 瀏覽:106
異或演算法找缺失的數 瀏覽:319
單片機flagt1 瀏覽:483
單片機清理 瀏覽:658
東風景逸空調壓縮機 瀏覽:156
天津程序員炒股 瀏覽:229
pcl源碼目錄 瀏覽:967
python分類數據轉換 瀏覽:109
wordpdf不能復制 瀏覽:961
快捷方式參數命令 瀏覽:111
cmd命令復制粘貼文件 瀏覽:583
ug實體快速修剪的命令是什麼 瀏覽:123
軟體工程對演算法的要求 瀏覽:935
元史pdf 瀏覽:97
如何讓伺服器卡爆不用tnt 瀏覽:801
兵器pdf 瀏覽:925
雲伺服器怎麼限制cpu 瀏覽:166
學信網用的什麼app 瀏覽:878
linux重啟命令apache 瀏覽:753