자바 디 컴파일러

Rashmi Patidar 2021년7월11일
자바 디 컴파일러

decompiler는 Java 바이트 코드를 분석 및 디 컴파일하고 소스 코드를 생성하는 데 도움이되는 유틸리티입니다. 디 컴파일은 컴파일 프로세스의 정반대 프로세스입니다. 이 프로세스는 사용 가능한 소스가 없을 때 유용하며, 바이트 코드를 디 컴파일 한 후 사용중인 소스 코드를 디버그하고 그 동작을 분석 할 수 있습니다.

개발은통합 개발 환경(IDE)을 사용하여 이루어지기 때문에 IDE 자체에decomplier가있는 것이 좋습니다. 무료로 사용 가능한 IDE의 시장에서 Eclipse 또는 Intellij와 같은 문자열 디 컴파일러를 검색하십시오.

Intellij IDE의 경우 마켓 플레이스에서 플러그인을 다운로드 할 수 있습니다. 플러그인이 적절한 위치에 있으면 maven 플러그인 아래 왼쪽 사이드 바에서 디 컴파일러를 찾을 수 있습니다. 아래는 더 나은 이해를 위해 첨부 된 스크린 샷입니다.

Intellij의 디 컴파일러 플러그인

디 컴파일러 코드는 자동으로 소스 코드로 변환되며 대상 폴더에서 찾을 수 있습니다. 아래는 이해를 돕기 위해 첨부 된 스크린 샷입니다.

대상 폴더에서 디 컴파일 후 소스 코드

바이트 코드를 소스 코드로 변환 할 수있는 다른 도구는 다음과 같습니다.

Java Decompiler는 실제 애플리케이션과 함께 제공되는 온라인 웹 서비스입니다. 유틸리티를 사용하여 Java 5 이상 버전 코드를 디 컴파일 할 수 있습니다. 이 서비스는 목록에서 원하는 디 컴파일러를 선택할 수있는 다양한 옵션을 제공합니다. 여기에는 그래픽 유틸리티 인JD-GUI가 있으며.class 파일을 변환하여 동일한 소스 코드를 가져 오는 데 도움이됩니다. JD-Eclipse는 IDE 자체에서 클래스 파일의 디 컴파일을 허용하는 Eclipse IDE 플러그인입니다. ‘JD-Core’는 바이트 코드에서 소스 코드를 다시 생성하는 또 다른 오픈 소스 유틸리티입니다.

또 다른 유틸리티는 주로 코드 생성 및 분석에 초점을 맞춘Procyon입니다. 오픈 소스 유틸리티이며Apache License 2에 의해 제공됩니다. 코어 프레임 워크, 표현식 프레임 워크, 리플렉션 프레임 워크, 컴파일러 도구 세트 및 디 컴파일러와 같은 라이브러리로 구성됩니다. 바이트 코드에서 코드 생성 프로세스를 용이하게하는 유틸리티가 있습니다.

자세한 내용은 GitHub 링크를 방문하십시오-https://github.com/mstrobel/procyon

Krakatau는 자바 바이트 코드를 조립하고 분해하기위한 또 하나의 오픈 소스 도구입니다. 이 도구를 사용하면 이진 코드를 텍스트 형식으로 변환 할 수 있습니다. 사용자가 소스 코드를 다시 바이트 코드로 다시 변환 할 수도 있습니다. 유틸리티는 순전히Python스크립트로, 명령을 실행할 때 실행됩니다.

자세한 내용은 GitHub 링크에 있습니다-https://github.com/Storyyeller/Krakatau

CFR은 Java의 바이트 코드를 버전 14까지 디 컴파일 할 수있는 또 다른 Java 디 컴파일러입니다. 디 컴파일러 코드는 순수하게 Java 6으로 작성되었으며 실행하기 쉽습니다. jar를 실행하는 명령을 통해 실행할 수 있으며 여기에서 디 컴파일 할 클래스 이름 인 매개 변수를받습니다.

자세한 내용은 링크를 통해 확인할 수 있습니다.https://github.com/leibnitz27/cfr

‘Fernflower’는 아직 개발중인 또 다른 유틸리티입니다. 유틸리티는 ‘Apache’라이선스 2에 의해 제공됩니다. 실행 명령은 매개 변수와 함께 jar를 실행하는 것만 큼 간단합니다.

자세한 내용은https://github.com/fesh0r/fernflower를 방문하십시오.

DJ Java Decompiler는 Windows 및 후속 버전과 호환되는 유틸리티 도구 중 하나입니다. 이 유틸리티는 주어진 바이트 코드에서 Java 애플릿 코드를 올바르게 디 컴파일 할 수있을만큼 강력합니다. 잘 정의 된 그래픽 사용자 인터페이스가있는 독립 실행 형 Windows 응용 프로그램입니다.

자세한 내용은http://www.neshkov.com/을 방문하십시오.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn