用jd gui可以直接反編譯class為java代碼。java中的“反編譯”命令是用來查看class文件的。在jdk/bin的目錄下有個叫做javap的命令行工具。主要是在分析Class文件的時候比較有用。
為拜城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及拜城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、拜城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
javap是 Java class文件分解器,可以反編譯,也可以查看java編譯器生成的字節(jié)碼,從而對代碼內(nèi)部的執(zhí)行邏輯進行分析。
Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件。 Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。
反編譯后得到的是匯編語言。還有com程序 一般都是匯編,不會是源程序。除非是匯編編的。但是現(xiàn)在也有一些vb的反編譯軟件。
理論上說計算機運行的程序都可以被反匯編的。但java這類程序就不一樣了~~~java程序運行在java虛擬機(jvm)里由java虛擬機和操作系統(tǒng)進行交互操作。
用JD-GUI和JAD反編譯了幾個class文件,結(jié)果JAD說不能完全反編譯,JD-GUI則給出了一大堆匯編代碼。其實這個一般不會把它叫做匯編啦。就只是Java字節(jié)碼的對應(yīng)的文本形式而已。
機器只能看懂機器碼,匯編其實只不過是機器碼的另一種形勢,但高級語言則完全是另一種東西。
呵呵 首先,java可以反編譯,現(xiàn)在已經(jīng)有反編譯軟件了,你已經(jīng)用過了,就知道的確很強大。不過,java相對來說,還是安全的,現(xiàn)在似乎還有種反反編譯,聽說過,不了解。這些我們可以通過一些算法去加密之類的,比如md5這樣的。
class反編譯后是opcode,和匯編是差不多一樣的東西。
Java屬于高級語言。匯編語言是跟機器語言最接近的語言,用有意義的符號來替代難懂的機器指令的編程語言,基本上與機器指令 一 一對應(yīng)的。不同的CPU其指令集不同,所以用匯編語言編寫的程序不能通用。
用c寫的吧,語言這個東西就和滾雪球一樣,有了一些基礎(chǔ)東西后,比如簡單的變量定義,簡單的控制結(jié)構(gòu),就可以利用這些基本東西開發(fā)復雜的語句,甚至開發(fā)新的程序設(shè)計語言,但最終都是轉(zhuǎn)換為機器語言執(zhí)行的。
java不是匯編語言,是高級語言的一種。而高級語言沒有最好最壞,只有合不合適。java目前對于桌面應(yīng)用開發(fā)還不大方便,對于網(wǎng)絡(luò)開發(fā)和嵌入式開發(fā)比較擅長??茨阆胂蚰欠矫姘l(fā)展了。
C語言和java語言都是高級語言,傳統(tǒng)意義的C語言是面向過程的編程語言,它的執(zhí)行效率很高,大概只比匯編低20%,但是比匯編要簡單的多,通過很少的代碼量就能實現(xiàn)匯編語言的功能,他的精髓,也是內(nèi)存操作。
匯編語言是一種與機器相關(guān)的低級語言,也就是只能應(yīng)用于某一種特定的機器(CPU),它實際上是機器碼的助記符。而JAVA之類被稱之為高級語言,是與機器無關(guān)的。
字節(jié)碼)文件,其擴展名為(.class)。解釋:JVM(java虛擬機)可以將java文件編譯為機器語言,是通過字節(jié)碼的形式進行的存儲,此字節(jié)碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執(zhí)行。
本文標題:java代碼轉(zhuǎn)匯編代碼 java編譯成匯編語言
文章位置:http://aaarwkj.com/article18/dspgcdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、微信小程序、商城網(wǎng)站、軟件開發(fā)、靜態(tài)網(wǎng)站、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)