反編譯吧
㈠ 問一個問題,有沒有反編譯工具可以編譯整個項目,就是那種編譯好就直接可以部署上去的
java源碼的 xx.jar 或xx.class 都可以反編譯。前提是別人代碼沒開混淆。
安卓可以直接反編譯出代碼項目class.然後再看class源碼.
㈡ 誰能幫我把反編譯出來的JAVA編譯成class 能用的直接滿分 絕不騙人。
我看了一下,主要是2個問題,解決就行!
1、反編譯器不行,有的地方出現局部變數重復的情況。
2、這是個游戲的程序吧!裡面引用了其他的jar,比如那個IoSession就是Apache的mina框架的核心類,我下的2.0.3版本的
,這個類在這個org.apache.mina.core.session包下面,你可能要其他版本的,(1.1應該行)。
如果不能解決的話,你可以把你的反編譯前的文件發給我,我給你弄弄!
㈢ 誰有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」。
㈣ 為什麼我反編譯一個exe文件原封不動轉為.exe就報錯了。
世界上的大多數事物都是存在不可逆特性的,比如說生雞蛋煮成熟雞蛋很容易,但把熟雞蛋再還原為生雞蛋就幾乎不可能了,也許將來的科技能夠實現,但至少現在還沒聽說過。
程序的編譯和反編譯也是一樣,一個電腦程序從供人類閱讀的高級語言編譯為供CPU解讀的機器語言,這是一個質變的過程,比方說某個運算結果可以用多種演算法實現,那麼你想往上回溯時,究竟選擇那種演算法呢?你可能會說,讓反編譯軟體隨便選一種吧,那麼問題來了,再繼續往上回溯的時候,很有可能就跟原程序完全不同了。所以,盡管「條條大路通羅馬」,但要想從羅馬回到原來的出發點就不是容易的事了。因此,到目前為止,尚未有反編譯軟體能夠把一個exe文件完整無誤地反編譯為源程序的(當然也許極簡單的程序可以,比如hello world),而程序本來就是嚴謹的東西,差一個字也可能會產生十萬八千里的誤差。所以,反編譯的結果只能用作參考,不能把它當作實際代碼。
㈤ 如何反編譯一個exe文件,並修改裡面一句代碼
1、首先打開瀏覽器,網路搜索「反編譯工具ILSpy」,選擇一個安全的網站進行下載。
㈥ 我用java反編譯工具把.class文件轉為.java文件,其中有些這種字元,請問一下這種是怎麼回事啊
不會! if ((l3 = (System.currentTimeMillis() - l2) + 10L) < 62L)
try
{
Thread.sleep(62L - l3);
}
catch (Exception )
} while (true);
if (a_byte == 1)
b();
a_Bobby.notifyDestroyed();
}
private final void d()
{
byte abyte0[] = a();
boolean flag = false;
String s1 = "BC5Data";
a a1 = this;
try
{
RecordStore recordstore;
(recordstore = RecordStore.openRecordStore(s1, false)).setRecord(1, abyte0, 0, abyte0.length);
recordstore.closeRecordStore();
return;
}
catch (Exception )
try
{
RecordStore.deleteRecordStore(s1);
}
catch (Exception )
······
看到了吧~這就是格式!匯編語言!!!
編譯連接之後,再用txt打開~就只能看到亂碼啦。
㈦ 怎麼反編譯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沒有參數可以去掉它,用別的辦法吧。
㈧ 什麼叫做反編譯啊
反編譯
計算機軟體反向工程(Reversepengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
㈨ 教我怎樣 java反編譯可以嗎
反編譯的工具有好多, 在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI』s Java Class Viewer和國產的JAVA源代碼反編譯專家。
jad是java的反編譯工具,是命令行執行,反編譯出來的源文件可讀性較高。可惜用起來不太方便。還好
找到eclipse下的插件,叫jadclipse,安裝好之後,只要雙擊.class文件,就能直接看源文件,包括jar
包中的class文件,也可以直接反編譯。
1.下載jad1.5.8e
下載後解壓。解壓縮後將jad.exe拷貝到JRE的bin目錄下,如d:/Java/jre1.5/bin
2.下載net.sf.jadclipse_3.2.4.jar
3.安裝插件,有如下兩種方法
A.將net.sf.jadclipse_3.2.4.jar復制到D:/leaf/eclipse/plugins目錄下。
B.在d:/leaf下建立ecliplsePlungin/jadclipse/eclipse/plugins目錄,將net.sf.jadclipse_3.2.4.jar放到該目錄。在d:/leaf/eclipse/links下建jadclipse.link,內容為path=d/://leaf//ecliplsePlungin//jadclipse
3.啟動Eclipse後,在Windows(窗口)-->Perference(首選項)-->Java下面應該會多出一個JadClipse目錄,相關的設置可以在此修改配置jadclipse:設置path to decompiler為jad.exe的全路徑,如:d:/Java/jre1.5/bin/jad.exe,在Directory for temporary files中指定臨時文件的路徑,如:C:/Java/temp
4、在Eclipse的Windows-->Perference-->General->Editors->File Associations中修改「*.class」默認關聯的編輯器為「JadClipse Class File Viewer」
5、安裝完成,雙擊class文件,Eclipse將自動反編譯了。
6、把*.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
㈩ 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
}