Java Jar原始碼反編譯工具那家強

程式設計師眾推 發表於 2020-09-08

本文介紹下Java Jar常見的反編譯工具,並給出使用感受。

反編譯JAR能幹什麼: 排查問題、分析商業軟體程式碼邏輯,學習優秀的原始碼思路。

JD-GUI

下載地址:http://java-decompiler.github.io/

點評:支援的java版本不會太高,中文註釋能夠正常顯示。

image-20200908201112636

Luyten

下載地址:https://github.com/deathmarine/Luyten

點評: 支援更多,但是中文不正常顯示。底層使用的是Procyon。

image-20200908203433404

Jadx

下載地址:https://github.com/skylot/jadx

點評:卡了很長時間都沒顯示解析完,很耗記憶體與時間。

image-20200908203351573

Bytecode Viewer

下載地址:https://github.com/Konloch/bytecode-viewer

點評:大部分都能正常檢視,也能夠檢視位元組碼指令。

image-20200908202145928

Class Shark

下載地址:https://github.com/google/android-classyshark

點評: 測試兩個jar都直接失敗,放棄。

image-20200908202333017

綜合點評

jd-gui.exe功能多但是支援java版本不太高,Luyten支援版本更多,但是中文顯示不好。Bytecode Viewer也不錯。Jadx強項在APK逆向方面,更吃資源。Class Shark使用未成功,你們看著辦。

終極大招

實際上面的反編譯的工具失敗了,我們還可以利用Idea自帶的反編譯工具。

新建一個Maven專案,在專案的pom中加入需要反編譯的Jar包,groupId、artifactId可以隨便寫。

<dependency>
	<groupId>vip.codehome</groupId>
	<artifactId>test</artifactId>
	<scope>system</scope>
	<version>1.0</version>
	<systemPath>C:\\Users\\codehome\\Desktop\\{jar名稱}.jar</systemPath>
</dependency>

image-20200908203626103