'클래스'에 해당되는 글 2

  1. 2011.01.21 java] JAVA DeCompiler(역컴파일러) 디컴파일 (.class -> .java) 1
[쥔장]---------------------------------------------------------
operating server와 testing server의 작업 결과가 상이하여 확인한 결과 버전이 상이하기 때문에 생긴 문제였다.
이를 확실하게 확인할 수 있는 방법이 있었다. 역컴파일,decompile 을 하는 것이다.
찾아보니 툴도 있더라....
windows 버전 뿐만 아니라 os별로 잘 갖추어져 있고, java eclipse 에디터 plug-in도 있드라...
이것을 알았더라면 차이를 명확히 알 수 있었을텐데...

자... 봅시다...

#### start line ==================================================

우선 사이트는 " http://www.varaneckas.com/jad " 이며 여기를 가면 다운을 받을 수 있다.
혹시라도 사이트가 옮겨지거나 없어지거나 하는 경우를 위해서라도 파일 저장을 해야겠따....

jad158g.win_java_class_decompiler.zip

net.sf.jadclipse_3.3.0.jar


이클립스의 플러그인으로 사용을 할 수도 있지만, 윈도우즈 버전의 경우에는 콘솔(명령프롬프트) 에서도 가능하다.
위 파일을 압축풂련 jad.exe 파일과 readme.txt 파일이 있다. readme.txt 파일에는 jad.exe 파일 사용법에 대해서 상세히 나와있으니 잘 살펴보자.

간단하게나마 .class -> .java 로 만들어내는 것을 보자면..
우선 jad.exe 파일과 역컴파일하고자 하는 .class파일을 같은 디렉토리에 넣는다.
명령프롬프트 창을 띄워서 " jad.exe -sjava decompileclass.class " 이렇게 명령을 입력하면
decompileclass.java 파일이 생성되고 에디터에서 확이하면 한글은 깨질지언정 소스는 잘 확인해볼 수 있다.

" jad -o -r -sjava -dsrc class_dir/**/*.class " 이렇게 추가적인 옵션을 준다면, 지정된 폴더의 class 파일들을 src 라는 폴더로 package 구조대로 decompile된 class파일, 즉, java 파일을 저장해놓는다.
이미 말했듯이 옵션은 readme.txt 라는 파일에 잘 나와있으니 참고하면 된다.



참고한 사이트 : http://lyb1495.tistory.com/56, http://mousevm.tistory.com/195


#### endline ====================================================