소개
ClassyShark는 구글에서 개발한 안드로이드 앱(APK) 및 Java 바이너리 파일을 독립적으로 분석할 수 있는 바이너리 검사 도구입니다. 안드로이드 개발자를 대상으로 하며, APK, JAR, DEX, AAR, SO 등 다양한 형식의 실행 파일과 라이브러리를 열어 클래스 구조, 메서드, Dex 의존성 등을 확인할 수 있습니다. 이 도구는 명령줄 인터페이스와 그래픽 사용자 인터페이스를 모두 제공하여 개발 및 디버깅 과정에서 유용하게 사용됩니다.
상세정보
프로그램 소개
ClassyShark는 구글이 제공하는 독립형 바이너리 검사 도구로, 안드로이드 애플리케이션 패키지(APK)와 Java 바이트코드를 분석하는 데 특화되어 있습니다. 이 도구는 별도의 설치 없이 실행 가능한 JAR 파일 형태로 제공되며, 개발자가 앱의 내부 구조를 시각적으로 탐색하거나 명령줄을 통해 정보를 추출하는 데 사용됩니다.
주요 기능바이너리 파일 형식 지원
ClassyShark는 다음 형식의 파일을 열 수 있습니다:
- 실행 파일: .apk, .jar, .class
- 라이브러리: .dex, .aar, .so
- Android 바이너리 XML: AndroidManifest.xml, resources, layouts 등
클래스 및 멤버 정보 표시
도구 내에서는 선택한 바이너리 파일의 클래스 목록, 인터페이스, 필드, 메서드 등을 트리 구조로 보여줍니다. 이를 통해 개발자는 앱에 포함된 라이브러리의 의존성이나 특정 클래스의 시그니처를 빠르게 확인할 수 있습니다.
Dex 의존성 분석
DEX 파일 내의 클래스 간 참조 관계를 분석하여 멀티덱스 구성이나 중복된 라이브러리를 식별하는 데 도움을 줍니다. 이는 앱 크기 최적화 및 빌드 시간 단축에 유용합니다.
다운로드 및 실행 방법
공식 저장소에서 최신 버전의 JAR 파일을 다운로드한 후, Java 런타임 환경이 설치된 시스템에서 다음 명령을 실행하여 ClassyShark를 시작할 수 있습니다:
java -jar ClassyShark.jar
Scoop 패키지 관리자를 사용하는 Windows 사용자는 다음 명령으로 간단히 설치할 수 있습니다:
scoop install classyshark
설치 후에는 시작 메뉴 또는 명령줄에서 ‘classyshark’를 입력하여 실행할 수 있습니다.
기본 사용법
실행 후 파일 메뉴에서 분석하고자 하는 APK 또는 JAR 파일을 열면, 왼쪽 패널에 클래스 트리가 표시됩니다. 특정 클래스를 선택하면 오른쪽 패널에 해당 클래스의 상세 정보(메서드, 필드, 상속 관계 등)가 나타납니다. 상단 도구바를 통해 내보내기, 검색, 뷰 옵션 등을 조절할 수 있습니다.
이런 경우에 유용합니다
안드로이드 앱의 크기가 예상보다 클 때, ClassyShark를 사용하여 어떤 라이브러리가 중복 포함되어 있는지 확인할 수 있습니다. 또한, 특정 권한이나 API 사용이 의심되는 앱을 분석하여 보안 검토나 라이선스 준수 여부를 점검하는 데에도 활용됩니다. Gradle 기반 프로젝트에서 샘플 모듈을 통해 빌드 스크립트와의 연동 방법을 확인할 수도 있습니다.
지원 환경
ClassyShark는 Java 8 이상을 실행할 수 있는 모든 플랫폼에서 동작합니다. Windows, macOS, Linux에서 JAR 파일을 직접 실행하거나, Scoop을 통해 Windows 환경에 간편히 설치할 수 있습니다. 별도의 네트워크 연결은 필요하지 않으며, 로컬 파일만으로 분석이 완료됩니다.
최신 버전 및 업데이트
현재 버전은 8.2이며, 공식 GitHub 저장소의 ‘Releases’ 섹션에서 최신 JAR 파일을 다운로드할 수 있습니다. 업데이트 시에는 기존 파일을 새 버전으로 교체하는 방식으로 진행됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


