본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

dex2jar

0

dex2jar는 Android 앱(.apk)이나 Android 실행 파일(.dex)을 Java 가상 머신(JVM)이 실행할 수 있는 Java 클래스(.class) 파일이나 JAR 아카이브로 변환하는 오픈소스 개발자 도구입니다.

개발자도구리버스엔지니어링오픈소스클래스변환

소개

dex2jar는 Android 앱(.apk)이나 Android 실행 파일(.dex)을 Java 가상 머신(JVM)이 실행할 수 있는 Java 클래스(.class) 파일이나 JAR 아카이브로 변환하는 오픈소스 개발자 도구입니다. 주로 Android 애플리케이션 분석 및 디버깅을 위해 사용됩니다. px1988가 개발했으며 Apache 2.0 라이선스로 배포됩니다.

상세정보

프로그램 소개

dex2jar는 Android 플랫폼의 .dex(Dalvik Executable) 파일을 Java 플랫폼의 .class 파일이나 .jar 아카이브로 변환하는 도구 모음입니다. Android 애플리케이션을 Java 개발 환경에서 분석하거나 디버깅할 때 유용하게 사용됩니다.

주요 기능

dex2jar는 다음 핵심 도구와 기능을 제공합니다:

  • d2j-dex2jar: .dex 파일을 .class 파일로 변환하여 JAR 아카이브로打包합니다. 가장 많이 사용되는 메인 변환 도구입니다.
  • dex-reader/writer: Dalvik Executable(.dex) 파일을 읽고 쓸 수 있는 경량级 API를 제공합니다. ASM과 유사한 인터페이스를 사용합니다.
  • smali/baksmali: dex 파일을 smali 파일로 디스어셈블하거나 smali 파일에서 dex 파일로 어셈블하는 기능을 제공합니다.
  • d2j-decrypt-string: 암호화된 문자열을 복호화하는 유틸리티 도구입니다.

다운로드·설치 방법

dex2jar는 GitHub 릴리스 페이지에서 최신 버전을 다운로드할 수 있습니다. 설치는 일반적으로 다음 단계로 진행됩니다:

  1. GitHub 릴리스 페이지에서 최신 zip 파일을 다운로드합니다.
  2. 다운로드한 zip 파일의 압축을 풉니다.
  3. 압축 해제된 디렉토리에서 사용할 스크립트 파일(d2j-dex2jar.sh 또는 .bat)을 실행합니다.

커맨드라인 사용 예시

기본적인 APK 변환 명령어는 다음과 같습니다:

sh d2j-dex2jar.sh -f ~/path/to/apk_to_decompile.apk

위 명령어는 지정된 APK 파일을 변환하여 ‘apk_to_decompile-dex2jar.jar’ 파일을 생성합니다.

이런 경우에 유용합니다

  • Android 애플리케이션의 동작을 분석하거나 디버깅해야 할 때
  • 제공되지 않는 소스 코드로 된 Android 앱의 구조를 이해해야 할 때
  • Android 개발자가 타사 라이브러리나 모듈의 내부 동작을 확인해야 할 때
  • 보안 연구자가 Android 애플리케이션의 잠재적인 보안 문제를 평가해야 할 때

지원 환경·시스템 요구사항

dex2jar는 Java 8 이상의 런타임 환경이 필요합니다. Java가 지원되는 모든 주요 운영체제에서 실행 가능합니다.

시스템 요구사항

Java 런타임 환경이 필요합니다.