본문 바로가기

IT/ETC

[ETC] 자바 클래스 디컴파일러(Decompiler) JAD와 JadClipse의 활용


자바 소스(Source)를 클래스(Class)파일로 컴파일 하고나서, 소스는 잃어버리고 클래스 파일만 남았을 경우 혹은
소스 파일을 따로 제공하지 않는 라이브러리의 내부구조를 확인하고 싶을 경우
이럴 때 필요한 것이 바로 디컴파일러(Decompiler)이다.
디컴파일러의 기능은 매우 간단하다.
컴파일된 자바 클래스 파일로 자바 소스 파일을 만들어준다.
컴파일러(Compiler)와는 반대되는 일을 하는 것이 디컴파일러(Decompiler)이다.


사용방법은 아래와 같다.

1. 첨부된 Jad-7801.exe 파일을 디컴파일 하고자하는 클래스 파일이 위치한 경로에 위치시킨다.
(물론 Path를 잡거나, Jad-7801.exe의 경로명을 통째로 적어서 실행해도 상관없다.)

2. 커맨드 프롬프트 상에서 다음과 같은 명령어를 실행 시킨다.

클래스 파일을 디컴파일 : Jad-7801 -o -sjava [FileName].class
클래스 패키지를 디컴파일 : Jad-7801 -o -r -sjava -dsrc [RootFolderName]/**/*.class

3. 디컴파일 된 소스파일이 해당 경로에 생성된다.

출처 : http://blog.naver.com/ofthejin

-----------------------------------------------------------------------------

Jad는 바이트코드인 Java class파일을 디컴파일해주는 프로그램이다.
JadClipse는 자바디컴파일을 이클립스에서 편리하게 사용할 수 있도록 해주는 이클립스 플러그인이다.


1. Jad및 JadClipse 다운로드
  * Jad : 


  * JadClipse : 



2. Jad와 Jadclipse를 적절한 위치로 복사하기

jad.exe 를 위와 같이 복사해 넣는다

jadclipse는 net.sf.jadclipse_3.x.0 파일을 eclipse의 plugins 폴더로 복사한다.



3. jadclipse 사용을 위한 이클립스 환경설정 

위에서 파일을 다 복사했다면, 작동중인 이클립스를 종료하고 재실행한다.
Window - Preferences - Java - JadClipse에서
  



Path to decompiler 는 jad.exe 파일의 위치를 적는다.
(예  D:\eclipse\jad.exe)
 그리고 Reuse code buffer 체크


이상이 셋팅 완료다.
이제 이클립스에서 F3 키를 눌러서 사용하면 된다. 

출처 : http://blog.bagesoft.com/954