본문 바로가기

보안/시큐어코딩

자바 디컴파일러

Java Decompiler project는 JDK 5 이후의 바이트 코드를 분석하고 디컴파일하기 위해 개발된 툴이다. 


JD-Core는 하나 이상의 .class 파일로 부터 자바 소스코드를 재생성하기 위한 라이브러리이다. JD-CORE는 소스코드를 잃어버렸을때 소스를 복구하기 위해 사용하거나 자바 런타임 라이브러리의 소스를 탐색하기 위해 사용할 수 있다.  자바 5버전의 새로운 기능 - 어노테이션이라던가 enum, generic과 같은 - 도 지원된다. JD-GUI, JD-Eclipse는 JD-Core를 포함하고 있다.


JD-GUI는 .class 파일의 자바소스코드를 표시하는 독립형 그래픽 유틸리티이다.  재빌드된 소스코드에서 메소드나 필드를 즉시 액세스할 수 있다.

JD-Eclipse는 이클립스 플러그인이다.  프로세스를 디버깅하는 동안 자바 소스코드를 볼수 있다.

JD-intelliJ는 intelliJ IDE 플러그인이다.

JD-Core, JD-GUI & JD-Eclipse 는 GPLv3 라이센스 정책이 적용된 오픈소스프로젝트의 산출물이다.


JD-GUI 다운로드

JD-GUI 소스코드 다운로드


JD-Eclipse 다운로드


JD-Eclipse 소스 코드 다운로드

JD-Eclipse 설치 방법

  1. Download and unzip the JD-Eclipse Update Site,
  2. Launch Eclipse,
  3. Click on "Help > Install New Software...",
  4. Click on button "Add..." to add an new repository,
  5. Enter "JD-Eclipse Update Site" and select the local site directory,
  6. Check "Java Decompiler Eclipse Plug-in",
  7. Next, next, next... and restart Eclipse.


JD-IntelliJ 플러그인 다운로드

JD-IntelliJ 소스코드 다운로드

JD-IntelliJ 설치방법

  1. Download the project from Bitbucket.
  2. Import it on IntelliJ IDEA.
  3. Create a new configuration with the type "plugin".
  4. Run the new configuration.



jad를 이용하여 자바 클래스 디컴파일하기


jad158g.win.zip


1. 다운로드 받아서 적당한 위치에 압축을 해제한다.

2. jad.exe 가 저장된 경로를 환경변수의 Path에 추가한다.

3. jad.exe -o -sjava Test.class

4. Test.java 파일이 생성된다.