2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

JADX

작성: sangseek | 게시 날짜: 2026/06/11 | 조회수: 8
[ 편집불가 ]

JADX는 안드로이드 APK/DEX 파일을 사람 읽을 수 있는 Java 유사 소스 코드로 역컴파일(decompile)해 주는 오픈소스 도구입니다. 주로 다음과 같은 특징과 구성요소를 가집니다. 주요 개요 - 목적: APK(.apk) 또는 DEX(.dex) 바이너리에서 자바 스타일의 소스 코드를 재구성하여 분석·디버깅·보안 검사 등에 활용할 수 있게 함. - 오픈소스 프로젝트로 GitHub에서 공개되어 있으며 GUI와 커맨드라인 둘 다 지원. 구성요소 - jadx-gui: 그래픽 인터페이스로 코드 브라우징, 검색, 파일 내보내기 등을 제공. - jadx-cli (또는 jadx): 커맨드라인 도구로 배치 처리 및 스크립트 활용에 적합. - jadx-core: 역컴파일 엔진(라이브러리)으로 다른 툴에서 재사용 가능. 주요 기능 - DEX → Java 유사 소스 코드 역생성(메서드/클래스/패키지 구조 등). - APK에서 리소스 추출(리소스 파일, 리소스 테이블 등) 및 매니페스트 확인. - 코드 하이라이팅, 심볼 검색, 전체 텍스트 검색, 클래스/메서드 트리 등 GUI 편의기능. - 난독화된 이름에 대한 일부 비식별화(deobfuscation) 지원 및 변수/타입 추론 시도. - smali 보기를 통해 낮은 수준의 코드(바이트코드) 확인 가능. 사용 예(개념) - GUI: jadx-gui로 APK 열기 → 코드 브라우징 → Save All 으로 소스 내보내기. - CLI: jadx -d out app.apk (APK를 역컴파일하여 out 디렉토리에 출력) 제한사항과 주의점 - 완전한 원본 소스가 항상 복구되지는 않음. 컴파일 시 손실된 정보(주석, 원래 로컬 변수명, 일부 제너릭 정보 등)는 복원 불가하거나 추정으로 대체됨. - 난독화(obfuscation), 릴리즈 최적화, 프로가드/리트카트 등으로 강하게 처리된 코드의 경우 가독성 낮은 결과가 나올 수 있음. - 람다, 제너릭, 인라인 최적화된 코드 등에서는 역컴파일 결과가 원래와 다르게 보이거나 잘못 변환될 수 있음. 대체/보완 도구 - Apktool: 리소스와 AndroidManifest.xml 복원 및 smali 코드로의 디스어셈블(리빌드 목적에 적합). - baksmali/smali: DEX 바이트코드 수준의 작업. - 자바 디컴파일러들(CFR, Procyon, JD-GUI 등)은 JAR/클래스 파일 분석에 유용. 법적·윤리적 주의 - 타인 소프트웨어를 역분석할 때는 저작권·라이선스·서비스 약관 및 법률을 준수해야 합니다. 개인 학습·디버깅 목적이라도 사용 전 권리 문제를 확인하세요. 필요하면 설치·사용 예시나 특정 문제 해결 방법도 설명해 드릴 수 있습니다.
내용이 부정하다면 싫어요를 누르세요.