導航:首頁 > 源碼編譯 > java反編譯指令意思

java反編譯指令意思

發布時間:2022-04-01 17:25:41

java的反編譯命令是什麼

用jd gui可以直接反編譯class為java代碼。
java中的「反編譯」命令是用來查看class文件的。
在jdk/bin的目錄下有個叫做javap的命令行工具。主要是在分析Class文件的時候比較有用。

❷ java反編譯指令有哪些

反編譯可以用java decompiler,有exe版和eclipse插件版,或者如果ide是idea的話,自帶反編譯功能

❸ java反編譯是什麼意識

java開發的程序的保護 眾所周知,java開發語言提供了很方便的開發平台,而且開發出來的程序很容易在不同的平台上面進行移植,現在越來越多的人使用它開發軟體。 Java有了它方便的一個方面,但是他同時也帶給了開發者一個煩惱,這就是保護的辦法不多,而且大多數不是很好用,這樣自己辛苦開發出來的程序很容易被人復制而據為己有,一般情況下,大多數的人都是用混編器(java obfuscator)來把開發出來的程序進行打亂以達到沒有辦法來反編譯觀看源代碼,但是這種辦法在網上很容易找到相關的軟體來重新整理,那麼這個混編只能控制一些本來也沒有辦法動您的軟體的人,而對於一些掌握工具的人幾乎是透明的,還有就是利用硬體加密鎖,但大多數公司提供的硬體加密鎖只是提供了一些dll的連接或簡單的api調用,只要反編譯他們,就很容易把一些api調用去掉,這樣硬體加密鎖也就不起作用了

❹ 什麼叫java反編譯軟體!

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
JD分為JD-GUI、JD-Eclipse兩種運行方式,JD-GUI是以單獨的程序的方式運行,JD-Eclipse則是以一個Eclipse插件的方式運行。

❺ java反編譯出來的代碼求解,解出後可追加50分

為什麼不用Java Decompiler反編譯呢?
不會出現這樣的情況
唯一不足的就是反編譯後原來的變數會變成數值

❻ java反編譯中iload是什麼意思

iload 是jvm指令,將指定的int型本地變數推送至棧頂;
你應該看的是位元組碼吧;
java反編譯工具jd gui,應該是看不到jvm指令的;
關於jvm指令,你網上搜一下可以了解了;
asm.jar java位元組碼生成開源框架有興趣可以學習一下,這個可以了解jvm指令。

❼ java反編譯出來的代碼能用嗎

可以
_d-gui這個工具可以進行反編譯的操作。 不過反編譯的質量隨著混淆的程度而定。特別復雜的代碼(如加密演算法)反編譯一般都有問題。可以建議用 javap -c -p 來看位元組碼。然後參考jvm指令。 一般編譯的文件,都可以反編譯為源碼,但如果是經過加密、以及代碼異常復雜,是很難恢復全部的源碼

❽ 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反編譯代碼解釋:

首先,mecuryhope所回答的,僅僅是java層面的東西,但是卻不了解反編譯的過程。
其次,label175和break這些,並不是java代碼,而是反編譯的工具無法真實還原導致的。

label175是一個標簽,而break label175是表示跳轉到label175這里。

閱讀全文

與java反編譯指令意思相關的資料

熱點內容
友友車友軟體免加密 瀏覽:89
java多進程編程 瀏覽:902
12864液晶與單片機的連接 瀏覽:27
伺服器上的bmc是什麼 瀏覽:634
伺服器怎麼測量網路延遲 瀏覽:605
打掃衛生解壓視頻vlog 瀏覽:275
半封閉活塞製冷壓縮機 瀏覽:401
如何刪除存檔的文件夾 瀏覽:835
基於單片機的參考文獻 瀏覽:915
壓縮空氣管道安全 瀏覽:770
哪個英語app比較好 瀏覽:219
進貨app怎麼樣 瀏覽:519
c語言編譯軟體免費嗎 瀏覽:252
怎麼把appstotre改成中文 瀏覽:443
html如何連接伺服器 瀏覽:572
linux下如何創建文件 瀏覽:699
三洋空調壓縮機參數 瀏覽:202
加密貓背後的故事 瀏覽:254
陝西不聽命令 瀏覽:369
怎麼把皮皮蝦app表情弄到微信 瀏覽:292