woonizzooni

Java Decompiler 종류 본문

Programming/Java

Java Decompiler 종류

woonizzooni 2019. 8. 25. 18:03

 

Elicpse 등에서 decompiler 설치 검색해보면 JAD 설치 내용이 꽤 나오는데,

Fernflower > Procyon or CFR > JD 등을 사용하자. (주관적)

특히, 최신 java를 지원하도록 업데이트 되는 것을 선택하자.

 

 

대략 아래 5 종류 정도만 기억해두자. 

 

o JD (http://java-decompiler.github.io/)

  - open-source project  

  - JD-CORE : https://github.com/java-decompiler/jd-core   

  - JD-Eclipse : https://github.com/java-decompiler/jd-eclipse

  - JD-GUI : https://github.com/java-decompiler/jd-gui

 

o CFR (http://www.benf.org/other/cfr/)

  - close-source project

  - 최신 : cfr-0.146.jar 

  - 소스 비공개인듯

 

o Procyon (https://bitbucket.org/mstrobel/procyon/src/default/)

  -  open-source project

 

o Fernflower (https://github.com/fesh0r/fernflower)

  - open-source oproject

  - intellij decompiler engine

    https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine

 

o JAD (http://www.kpdus.com/jad.html)

  - close-source project

  - non-commercial 에 한하여 free

 

 

[참고]

검색에 나왔을 뿐, 폴란드 무슨 저널 단체 같은데, 대충 참고해본다.

[pdf] An Analysis on Java Programming Language Decompiler Capabilities

https://content.sciendo.com/downloadpdf/journals/acss/23/2/article-p109.xml

결론요약)

  - 가장 잘 알려진 것이 Fernflower와 JD

  - JD

    .저자가 java 7/8에서 테스트 결과 very poor performance 

    .GPLv3의 한계 (커머셜 프로젝트 이용시)

  - Fernflowe

    .java7에서 정확하지 않은 디컴파일 보여줌 (java 8은 괜찮아 보임)

  - CFR

    .java7에서 디컴파일 불가, .java8 테스트 케이스는 모두 통과

    .close-source 로 수정 불가의 한계

  - Procyon

    .apache 2.0 라이선스로 소스 수정 & 커머셜 프로젝트 available

    .저자는 사실상 이것을 최고라고 평가한 듯

    (Procyon decompiler behaving the best amongst the ones compared here)

 

 


아래 목록은 굳이 시간 투자해서 살펴보지 말자. 

 

o JODE (http://jode.sourceforge.net/)

  - 2004년 이후 업데이트 x

 

o JAD (http://www.javadecompilers.com/jad

  - 2006년 이후 업데이트 x?

 

o SourceAgain (http://www.ahpah.com/index.html)

  - ?

 

o Cavaj (https://cavaj-java-decompiler.en.softonic.com/)

  - 1997~2002.

  - Windows OS만 지원

 

o DJ (http://www.neshkov.com/dj.html)

  - OS지원 : Windows만?

  - GUI 프로그램,  10번사용 무료? $19.99 (부가세제외)

  - 클래스 10개 정도 열면 무료 사용 끝 -_- 버려라

 

o JBVD

  - Windows전용. 버려라

 

Comments