jad는 JAva Decompiler의 약자입니다.

말그대로 Java디컴파일을 해줍니다.

소스를 까볼때 참 편리합니다. ^^;


다운로드 페이지:http://www.varaneckas.com/jad/


다운로드후 압축을 풀면 jad.exe과 Readme.txt파일이 있습니다.

환경변수에 JAVA_HOME패스를 설정해 있다는 전제하에 설명하겠습니다.

저 같은경우는 jad.exe파일을 JAVA_HOME\bin에 복사를 해놓습니다.

ex)C:\Program Files (x86)\Java\jdk1.7.0\bin\jad.exe


그러면, 어디에서나 실행을 시킬수 있습니다.


이제 커맨드창을 실행 시켜 실행 시켜 보겠습니다.

HellowJava.class가 있습니다.


1.디컴파일해서 화면출력하기

 jad -p HellowJava.class

[실행결과]

jad1.png


-p옵션을 사용하면 디컴파일해서 출력해 줍니다.


2. 파일로 만들고 싶으면 아래와 같이 사용합니다.

 jad -p HellowJava.class > HellowJava.java


[실행결과]

jad2.png


3. 클래스 파일을 디컴파일해 다른 폴더에 넣고 싶을때 

 jad -o -d[디렉토리명] -s[확장자명] *.class

ex)  jad -o -dHellow -sjava *.class


[실행결과]

jad3.png

Hellow폴더가 생기면서 Hellow폴더안에 HellowJava.java가 생겼습니다.


4. jar파일로 묶인 패키지 파일을 디컴파일 할때

jad -o -r -s[확장자] -d[폴더명] [패키지시작명]/**/*.class 


com.falinux.sample.HellowJava,class라는 클래스를 디컴파일 할때는 아래와 같이 합니다.

ex)jad -o -r -sjava -dsrc com/**/*.class 

[실행결과]

jad4.png

jad5.png


주로 4번째를 많이 사용할것 같네요.


jad는 소스를 참고할때 유용하게 쓰입니다.

감사합니다.