當前位置:首頁 » 編程軟體 » 如何對一個類進行反編譯

如何對一個類進行反編譯

發布時間: 2022-08-20 06:49:11

⑴ 雲南java培訓分享java中的編譯與反編譯

一、什麼是編譯



1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。


2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。


二、什麼是反編譯


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


三、Java類的編譯與反編譯


我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。


class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。


那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)


四、什麼時候會用到反編譯


1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼雲南java培訓http://www.kmbdqn.com/認為可以把它反編譯成我們可以看得懂的文件。


2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。


⑵ 如何反編譯C#等net軟體類庫源代碼

.Net 反編譯軟體,最著名的是 Reflector。但是最新版本收費現在打開Reflector的老版本要求強制更新到最新版本。所以,你一下在打開refector 會自動刪除。那麼大家可以使用 ILSpy。使用ILspy。

  • 1

    下載後的ILSPY 。

    打開EXE

  • 6

    畢竟.NET 和JAVA 屬於中間語言,很好反編譯。

⑶ 如何反編譯class文件,簡單快速

反編譯工具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類反編譯成class文件

打開下載好的DJ_java_discompiler選擇file,之後點擊open。之後出現以下界面。這里我選擇一個test.class文件。點擊打開之後,出現以下反編譯test.java後的界面。這個是test.java的文件。可以看出反編譯後的結果是正確的。如果以後想看.class文件的源碼,可以用這種方式查看。

⑸ 如何反編譯 一個程序, 編譯成 我想要的語言類別。 具體有哪些工具可以用求提供下。 我熟悉的語言是C#

高級語言源程序經過 編譯 變成可執行文件,反編譯就是逆過程。
反編譯: 機器碼(匯編語言) → 高級編程語言
但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。

⑹ 問一下高手 c++dll文件如何反編譯 看源代碼啊

若這個DLL編譯時沒有進行C++優化和全局優化,反匯編後是完全可以反編譯的,但是變數名函數名全部丟失,這樣無法看懂。

若這個DLL編譯時經過了C++優化或全局優化,二進制代碼小於512個位元組,否則是基本不可能反編譯的。

<script>window._bd_share_config={"common":{"bdSnsKey":

{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":

{}};with(document)0[(getElementsByTagName('head')

[0]||body).appendChild(createElement('script')).src='http://bdimg.share..com/static/ap

i/js/share.js?v=89860593.js?cdnversion='+~(-newDate()/36e5)];</script>

(6)如何對一個類進行反編譯擴展閱讀

DLL故障排除工具

DependencyWalker檢查是否丟失DLL。DependencyWalker檢查是否存在無效的程序文件或DLL。DependencyWalker檢查導入函數和導出函數是否匹配。

DependencyWalker檢查是否存在循環依賴性錯誤。DependencyWalker檢查是否存在由於針對另一不同操作系統而無效的模塊。

通過使用DependencyWalker,可以記錄程序使用的所有DLL。(DUPS)工具用於審核、比較、記錄和顯示DLL信息。

組成DUPS工具的實用工具:Dlister.exe該實用工具枚舉計算機中的所有DLL,並且將此信息記錄到一個文本文件或資料庫文件中。

⑺ 昭通電腦培訓學校告訴你java中的編譯與反編譯

一、什麼是編譯



1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。


2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。


二、什麼是反編譯


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


三、Java類的編譯與反編譯


我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。


class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。


那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)


四、什麼時候會用到反編譯


1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼昭通java培訓http://www.kmbdqn.cn/認為可以把它反編譯成我們可以看得懂的文件。


2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。


⑻ java類反編譯

你沒貼出例子 我們該不了
如果java 變成class的話 你修改之後 把項目跑起來 測試你該項功能 沒錯的話 去\WebRoot\WEB-INF\classes\ 里找你的那個src類就行了 然後去覆蓋你伺服器上的把

熱點內容
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:109
豬哥亮訪問張菲 發布:2025-02-06 00:37:52 瀏覽:570
期貨賬戶怎麼改密碼 發布:2025-02-06 00:32:35 瀏覽:279
qq自動上傳群文件 發布:2025-02-06 00:26:25 瀏覽:111
安卓照片放在什麼地方 發布:2025-02-06 00:26:24 瀏覽:988
linux系統鏡像iso 發布:2025-02-06 00:15:39 瀏覽:188
存儲上料模塊的意義 發布:2025-02-06 00:14:14 瀏覽:125
unix時間戳轉換php 發布:2025-02-06 00:13:27 瀏覽:404
我的世界網易電腦板好玩的槍械rpg伺服器 發布:2025-02-06 00:08:04 瀏覽:346
非揮發性記憶體永久性存儲器 發布:2025-02-06 00:07:17 瀏覽:267