일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Windows10
- Shell script
- namespace
- golang
- Sysinternals
- android studio
- Flutter
- 행정구역분류
- macos
- docker
- ebpf
- HLS
- wireshark
- nginx-media-server
- service
- kubectl
- ffmpeg
- spring cloud config
- dart
- deployment
- aws cli
- Python
- configmap
- Java
- Pod
- aws
- RTMP
- Android
- Kubernetes
- VSCode
- Today
- Total
woonizzooni
Java Decompiler 종류 본문
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전용. 버려라
'Programming > Java' 카테고리의 다른 글
대한민국 행정동 경계 좌표 추출 #3 - java > GeoJSON (3) | 2019.09.06 |
---|---|
IPv4 네트워크 접두어 길이 구하기 = CIDR Prefix Length 구하기 (0) | 2019.06.13 |
java tip : 파일을 가장 빨리 읽는 방법 / 효과적인 방법 (0) | 2019.06.13 |
Java 버전별 내용 참고 (0) | 2019.06.13 |