업무 차 어떤 DB의 JDBC를 까서 소스를 확인할 필요가 생겼다.

(왜 커뮤니케이션 프로토콜 문서를 안 만들어 놓는 거지? 필요한 사람이 분명히 있을 텐데... 후)

근데 jar 파일은 우리가 흔히 소스를 볼 수 있는 .java 파일들로 이루어져 있지 않다.

 

그냥 텍스트 에디터로 열면...이런 참사가 발생한다.

 

만약 이걸 소스로 되돌릴 수 없다면 우리의 여정은 더욱 험난해졌을 것이나....

많은 능력자들이 나와 같은 고충을 겪었던 것 같다.

 

------

 

jd-gui

 

이 글에서는 jd-gui를 다운받아 빌드하여 사용하는 식으로 진행할 것이다.

다음 순서대로 명령어를 실행한다.

git clone https://github.com/java-decompiler/jd-gui.git
cd jd-gui
./gradlew build 

모두 실행하면 뭔가를 막 하더니 끝낸다. 

 

다음을 실행해 jd-gui를 실행한다.

(빌드를 실행한 디렉토리가 현재 work directory라고 가정)

cd build/libs/
java -jar jd-gui-1.6.6.jar

그러면 GUI 화면이 뜬다

 

 

File - Open File을 눌러

창이 뜨면 원하는 jar 파일을 선택한다.

그러면 자바 소스를 볼 수 있다.

잘 뜬다

jd-gui의 좋은 점은

소스에서 어떤 함수를 호출하거나 어떤 클래스에 접근했을 때

그 함수/클래스가 각각 어디에 있는지 

링크가 되어있다는 것이다.

 

밑줄이 그어진 handleIte를 누르면?

 

이렇게 이동해준다. 넘나 편리한 것...