2009/04/30 06:50
My major/JAVA
가끔씩 jar로 묶어서 공개하고 실질 소스는 비공개로 해놓는 그런 프로그램들이있다.
JFreeChart 가 그러하다. 이 녀석은 자바를 이용해서 각종 그래프를 그려주는 라이브러리다. 내가 찾아본 바로는 가장 이쁘고 라이브러리도 다양하다. 그리고 프리다.
하지만 이녀석은 라이브러리 소스는 공개하는데 어떻게 사용하는지 Document를 돈받고 판다...ㅡㅡ;; 그리고 라이브러리 소스는 있는데 데모용 소스는 또 공개를 해놓지 않았다. 솔직히 Document 없고 데모 소스 없으면 저 라이브러리 어떻게 사용하는지 파악하는데 세월아 네월아다....
하지만 언제나 돌파구는 있는법, JFreeChart 에서 데모용 소스를 컴파일한 후 jar로 묶어서 실행할 수 있게 만들어놓은 파일을 제공한다. 자바가 무었인가?? 이진수로 컴파일 되서 돌아가는게 아니지 않는가. 당연히 역컴파일 해서 java 소스 뽑아내면된다..ㅋㅋ
위 jad.exe 녀석이 class 파일로부터 java 소스 뽑아내주는 녀석이다.
사용법은 간단하다.
커멘드 창에서 jad test.class 이렇게 jad 다음에 클래스 이름 넣어주면 test.jad 파일로 나온다. 확장자가 java가 아닌 jad로 나오니깐 주의
역컴파일 하면 완벽하게 복원이 되는것이 아니다. 복원된 소스를 보고 완벽하게 다시 제구성하는 것은 본인 몫이다. 아직 완벽히 복원해 주는 프로그램은 없다고 한다.
하지만 90%이상 소스를 복원해 놓은 상태기 때문에 에러도 그렇게 많이 나지 않는다.
대부분 다른 파일에 있는 참조 클래스 같은 녀석들 때문에 에러가 난다.
그리고 가끔 깨지는 부분도 생기는데 이런 부분은 진짜 소스 보고 자기가 알아서 고처야 한다..이건 운이다..ㅋㅋ
jfreechart 소스 및 데모 소스랑 사용자 가이드(돈받고 파는걸) 누가 웹에다 올려논걸 찾아냈다.
http://www.cs.bgu.ac.il/~piavka/freespace/Gui/jfree/
위 사이트로 가면 된다..ㅋㅋ
위 사이트에 데모용 소스가 있는것도 있고 없는 것도 있다. 없는건 위에서 한 방법으로 역컴파일을 통해 소스를 뽑아내는 수 밖에 없다.데모용 소스에 보면 CrossSectionDemo1 데모에 대한 데모용 소스가 없다. CrossSectionDemo1은 jfreechart를 이용해 contour 그래프를 보기 좋게 그려주는 녀석이다.
위 파일은 역컴파일해서 에러 수정한 소스이다. 역컴파일한 CrossSectionDemo1.java는 돌려본 결과 약간의 버그가 있다.
개발자의 실수인지 아니면 역컴파일 과정에서 난 버그인진 모르겠지만 단순하면서도 심각한 버그가 있다. 밑의 소스는 버그 수정 및 해당 데모에 자신의 데이터를 집어 넣어야 하는 부분에 표시를 해둔 소스이다.
필요한 분은 쓰세요..
JFreeChart 가 그러하다. 이 녀석은 자바를 이용해서 각종 그래프를 그려주는 라이브러리다. 내가 찾아본 바로는 가장 이쁘고 라이브러리도 다양하다. 그리고 프리다.
하지만 이녀석은 라이브러리 소스는 공개하는데 어떻게 사용하는지 Document를 돈받고 판다...ㅡㅡ;; 그리고 라이브러리 소스는 있는데 데모용 소스는 또 공개를 해놓지 않았다. 솔직히 Document 없고 데모 소스 없으면 저 라이브러리 어떻게 사용하는지 파악하는데 세월아 네월아다....
하지만 언제나 돌파구는 있는법, JFreeChart 에서 데모용 소스를 컴파일한 후 jar로 묶어서 실행할 수 있게 만들어놓은 파일을 제공한다. 자바가 무었인가?? 이진수로 컴파일 되서 돌아가는게 아니지 않는가. 당연히 역컴파일 해서 java 소스 뽑아내면된다..ㅋㅋ
위 jad.exe 녀석이 class 파일로부터 java 소스 뽑아내주는 녀석이다.
사용법은 간단하다.
커멘드 창에서 jad test.class 이렇게 jad 다음에 클래스 이름 넣어주면 test.jad 파일로 나온다. 확장자가 java가 아닌 jad로 나오니깐 주의
역컴파일 하면 완벽하게 복원이 되는것이 아니다. 복원된 소스를 보고 완벽하게 다시 제구성하는 것은 본인 몫이다. 아직 완벽히 복원해 주는 프로그램은 없다고 한다.
하지만 90%이상 소스를 복원해 놓은 상태기 때문에 에러도 그렇게 많이 나지 않는다.
대부분 다른 파일에 있는 참조 클래스 같은 녀석들 때문에 에러가 난다.
그리고 가끔 깨지는 부분도 생기는데 이런 부분은 진짜 소스 보고 자기가 알아서 고처야 한다..이건 운이다..ㅋㅋ
jfreechart 소스 및 데모 소스랑 사용자 가이드(돈받고 파는걸) 누가 웹에다 올려논걸 찾아냈다.
http://www.cs.bgu.ac.il/~piavka/freespace/Gui/jfree/
위 사이트로 가면 된다..ㅋㅋ
위 사이트에 데모용 소스가 있는것도 있고 없는 것도 있다. 없는건 위에서 한 방법으로 역컴파일을 통해 소스를 뽑아내는 수 밖에 없다.데모용 소스에 보면 CrossSectionDemo1 데모에 대한 데모용 소스가 없다. CrossSectionDemo1은 jfreechart를 이용해 contour 그래프를 보기 좋게 그려주는 녀석이다.
위 파일은 역컴파일해서 에러 수정한 소스이다. 역컴파일한 CrossSectionDemo1.java는 돌려본 결과 약간의 버그가 있다.
개발자의 실수인지 아니면 역컴파일 과정에서 난 버그인진 모르겠지만 단순하면서도 심각한 버그가 있다. 밑의 소스는 버그 수정 및 해당 데모에 자신의 데이터를 집어 넣어야 하는 부분에 표시를 해둔 소스이다.
필요한 분은 쓰세요..
jad.exe
CrossSectionDemo1.java