오늘 우리는 Java에 관한 몇 가지 디컴파일 도구를 공유할 것입니다. 디컴파일은 매우 높은 수준의 기술 용어처럼 들립니다. 일반인의 관점에서 디컴파일은 원본 코드를 얻기 위해 대상 실행 프로그램을 역분석하는 프로세스입니다. 특히 가상 머신에서 실행되는 .NET, Java 등의 프로그래밍 언어는 소스 코드를 디컴파일하고 얻기가 더 쉽습니다. 물론, 프로그램을 난독화하고 암호화하여 도구로 디컴파일하기 어렵게 만드는 상용 소프트웨어도 있습니다.
1. Java 디컴파일 플러그인 - Jadclipse
JadClipse는 Jad의 Eclipse 플러그인입니다. 매우 실용적이고 편리한 Java 디컴파일 플러그인입니다. 다운로드한 플러그인 패키지를 eclipse의 플러그인 디렉토리에 복사한 후 창 -> 환경 설정 ->에서 수정하면 됩니다. Java -> JadClipse 디컴파일러 경로(예: C:/pin/jadnt158/jad.exe), 마지막으로 Windows -> Perference -> 일반 -> 편집기 -> 파일 Associations에서는 "*.class"의 기본 관련 편집기를 "JadClipse Class File Viewer"로 수정하면 됩니다.
공식 홈페이지: http://sourceforge.net/projects/jadclipse/
2. Java 디컴파일 도구 jad
jad는 매우 널리 사용되는 Java 디컴파일 도구입니다. 위의 Jadclipse는 jad를 기반으로 한 디컴파일 플러그인입니다. JAD 파일에는 애플리케이션을 개발한 회사, 애플리케이션 이름, 크기 등 MIDlet Suite의 헤더 정보가 포함되어 있습니다.
공식 웹사이트: http://varanekas.com/jad/
3. 자바 디컴파일러 JD-GUI
JD-GUI는 C++로 개발되고 Pavel Kouznetsov가 개발한 Java 디컴파일 도구로 Windows, Linux 및 Apple Mac Os의 세 가지 플랫폼을 지원합니다. 그리고 Eclipse 플랫폼에서 JD-Eclipse 플러그인을 제공합니다. JD-GUI는 설치가 필요하지 않습니다. 클릭하여 실행하면 jar 및 클래스 파일을 디컴파일할 수 있습니다.
공식 홈페이지: http://jd.benow.ca/
4. 자바 디컴파일러 jdec
jdec은 Java 디컴파일러입니다. .class 파일에 나타나는 바이트코드를 자바 소스코드로 복원할 수 있으며, 디컴파일된 결과는 원본 자바 파일과 거의 동일하다. 또한 Swing을 사용하여 개발된 사용자 인터페이스도 함께 제공됩니다.
공식 홈페이지: http://jdec.sourceforge.net/
5.uuDeJava
uuDeJava는 Java 클래스 파일용 디컴파일 도구입니다. 디컴파일된 Java 소스 프로그램은 Class의 동일한 디렉터리에 출력됩니다. 내부적으로 jad.exe를 사용합니다. 클래스 파일을 디컴파일할 때 클래스 파일을 직접 클릭하거나(연결 후) 바로가기를 선택하여 파일이나 디렉터리를 uuDeJava로 보낼 수 있습니다. uuDeJava의 기본 창으로 파일이나 디렉터리를 끌어서 놓을 수도 있습니다.
공식 홈페이지: http://www.uuware.com/uudejava_cn.htm
6. 자바 리버스 엔지니어링 소프트웨어 Minjava
Minjava는 일부 기존 Java 소프트웨어의 아키텍처와 동작을 이해하는 데 도움이 되는 Java 리버스 엔지니어링 소프트웨어입니다.
공식 홈페이지: https://code.google.com/p/minjava/
7. 자바 디컴파일러
이 디컴파일러는 "Java Decompiler"라고 하며 Pavel Kouznetsov가 개발했습니다. 최신 버전은 0.2.5이며 C++로 개발되었으며 Windows, Linux 및 Apple Mac Os용 실행 프로그램으로 공식적으로 다운로드할 수 있습니다.
공식 홈페이지: http://jd.benow.ca/