APK 정보 뷰어

설치하기 전에 Android 앱 패키지의 선언 내용(버전, 권한, 컴포넌트, 서명 인증서 등)을 확인하세요.

준비됨. APK를 여기에 놓아 검사하세요.

APK는 기기 내에서만 파싱됩니다. 어떠한 데이터도 업로드되지 않으며, 파일은 읽기만 하고 설치되거나 실행되지 않습니다.

자주 묻는 질문

설치하지 않고 APK에서 무엇을 알 수 있나요?

앱의 패키지 이름과 버전, 필요한 Android 버전, 요청하는 모든 권한, 화면 및 백그라운드 컴포넌트, 네이티브 코드가 지원하는 프로세서 타입, 서명된 인증서 등 많은 정보를 확인할 수 있습니다.

이 도구로 APK가 악성코드인지 알 수 있나요?

아니요. 빠른 스캔만으로 악성 여부를 단정 짓는 도구는 주의해야 합니다. 이 도구는 권한, 컴포넌트, 서명자, 해시와 같은 객관적인 사실만 보여줍니다. 개발자가 공개한 내용과 비교해보고, 예상치 못한 권한이나 공식 배포판과 다른 서명자가 있다면 주의를 기울이세요.

어떤 파일이 지원되나요?

최대 500 MB의 단일 APK 파일이 지원됩니다. 분할 패키지(XAPK, APKM) 및 Android App Bundle(.aab)은 단일 설치 패키지가 아닌 컨테이너 또는 배포 형식이므로, 혼란스러운 보고서 대신 명확한 안내 메시지와 함께 거부됩니다.

서명 정보는 무엇을 알려주나요?

모든 Android 앱은 서명되어 있으며, 인증서는 배포자를 식별합니다. 패키지가 사용하는 서명 체계(v1, v2, v3)와 각 서명자의 주체, 유효 기간, MD5, SHA-1 및 SHA-256 지문을 확인할 수 있습니다. 지문이 일치하는 두 APK는 동일한 배포자에서 나온 것이지만, 그 배포자를 신뢰할지 여부는 사용자의 판단에 달려 있습니다.

권한에 있는 “Dangerous” 배지는 무엇을 의미하나요?

Android의 공식 분류입니다. 위험 권한은 위치, 연락처, 카메라, 마이크, 저장공간 등 개인 데이터에 접근할 수 있으므로 시스템이 사용자에게 허용 여부를 묻습니다. 이 배지가 악의적임을 의미하는 것은 아니며, 지도 앱이 위치를 요청하는 것은 정상입니다. 단지 한 번 더 주의 깊게 살펴봐야 할 권한을 표시하는 것입니다.

APK 정보 뷰어의 작동 원리와 로컬 파싱 기술

APK 정보 뷰어는 Android 애플리케이션 패키지(APK) 파일을 기기에 설치하거나 실행하지 않고도, 브라우저 내부에서 안전하게 정적 분석을 수행할 수 있는 무료 온라인 도구입니다. 이 도구는 패키지 이름, 버전 정보, 요구되는 Android 버전, 요청 권한 목록, 백그라운드 및 화면 컴포넌트, 지원하는 프로세서 아키텍처, 서명 인증서 및 파일 해시 등 APK의 핵심 기술 명세를 추출하여 사용자에게 제공합니다.

본 도구의 모든 파일 읽기, 해시 계산 및 파싱 작업은 외부 서버로 데이터를 전송하지 않고 사용자의 웹 브라우저 내 로컬 워커(Worker)를 통해 완전히 독립적으로 실행됩니다. 따라서 민감한 파일이나 대용량 패키지도 외부 유출 우려 없이 안전하게 검사할 수 있습니다.


입력 사양 및 파일 처리 규칙

도구는 다음과 같은 입력 기준 및 예외 처리 규칙에 따라 작동합니다.

  • 단일 파일 분석: 한 번에 하나의 .apk 파일만 검사할 수 있습니다. 사용자가 여러 파일을 동시에 업로드하면 "한 번에 하나의 파일만 검사할 수 있습니다. 첫 번째 파일을 검사합니다."라는 안내 메시지와 함께 첫 번째 파일만 처리됩니다.
  • 용량 제한: 분석 가능한 최대 파일 크기는 500 MB입니다. 이 제한을 초과하는 파일은 "이 파일은 500 MB를 초과하여 브라우저 탭에서 안전하게 검사할 수 없습니다."라는 오류 메시지와 함께 거부됩니다.
  • 지원하지 않는 포맷:
    • 분할 패키지 파일 업로드 시: "이 파일은 여러 APK의 컨테이너인 XAPK 분할 패키지입니다. 기본(base) APK를 추출하여 해당 파일을 검사하세요." 메시지가 표시됩니다.
    • Android App Bundle 파일 업로드 시: "이 파일은 설치용 APK가 아니라 배포 형식인 Android App Bundle(.aab)입니다. 빌드된 APK를 검사하세요." 메시지가 표시됩니다.
    • APK가 아닌 파일 업로드 시: "APK 파일이 아닌 것 같습니다. 읽을 수 있는 AndroidManifest.xml이 없습니다." 메시지가 표시됩니다.
  • 파일 손상 및 오류: 파일이 손상되었거나 잘린 경우 "패키지가 손상되었거나 잘려서 내용을 읽을 수 없습니다." 메시지가 나타나며, 일반적인 읽기 실패 시에는 "파일을 읽을 수 없습니다. 다시 선택해 주세요.", 기타 검사 실패 시에는 "검사 실패. 다른 파일을 시도해 주세요." 메시지가 출력됩니다.

APK 내부 구조와 리소스 분석

APK 파일은 Android 애플리케이션을 배포하고 설치하기 위한 아카이브 패키지입니다. 본 도구는 패키지 내부를 파싱하여 다음과 같은 리소스 및 구성요소 정보를 추출합니다.

리소스 분류 화면 표시 레이블 설명 및 제한 사항
요구사항 (Requirements) 최소 Android, 타겟 Android, 최대 SDK ‹n› Android ‹version› (API ‹level›) 또는 API ‹level› 형식으로 호환성 범위를 표시합니다.
네이티브 코드 (Native Code) 프로세서 타입(ABI) 및 라이브러리 수 앱이 지원하는 CPU 아키텍처와 포함된 네이티브 라이브러리 개수를 보여줍니다.
리소스 (Resources) 화면 밀도, 리소스 파일, 에셋 파일, 코드 파일 (.dex), 패키지 내 파일 패키지 내부에 포함된 각 리소스 파일의 수량과 종류를 분류하여 표시합니다.

권한 분류 및 컴포넌트 분석 규칙

애플리케이션이 시스템 및 사용자 데이터에 접근하기 위해 선언한 권한과 실행 가능한 컴포넌트 목록을 상세히 분석합니다.

권한 (Permissions) 분석

앱이 요청하는 권한 목록을 추출하며, Android 시스템에서 개인정보나 민감한 데이터에 접근하는 것으로 분류한 권한 옆에는 위험 배지를 표시합니다. 분석 결과 화면에서는 이 위험 배지가 부여된 권한들이 리스트 최상단에 우선적으로 정렬되어 사용자가 보안 위협 요소를 즉각 식별할 수 있도록 돕습니다.

구성요소 (Components) 분석

앱의 내부 동작을 규정하는 4대 컴포넌트를 분류하여 보여줍니다. 각 카테고리별로 최대 100개의 항목까지 화면에 표시되며, 이를 초과하는 경우 +‹count›개 더보기 레이블로 생략된 개수를 나타냅니다. 외부 앱에서 호출할 수 있도록 허용된 컴포넌트에는 내보내기됨 레이블이 추가됩니다.

  • Activities: 사용자 인터페이스 화면을 구성하는 컴포넌트입니다.
  • Services: 백그라운드에서 실행되는 프로세스 컴포넌트입니다.
  • Receivers: 시스템 전반의 방송 신호를 수신하는 컴포넌트입니다.
  • Providers: 앱 간에 데이터를 공유할 수 있도록 지원하는 컴포넌트이며, 권한 정보가 함께 표시됩니다.

코드 서명 체계 및 파일 무결성 검증

Android 앱은 신원 보증과 무결성 유지를 위해 반드시 디지털 서명이 되어 있어야 합니다. 도구는 APK Signing Block에서 v1(PKCS#7), v2, v3, v3.1 서명 체계를 감지하고 서명 정보를 추출합니다.

서명 섹션(Signatures)에서는 서명자 ‹n› 정보와 함께 주체, 발급자, 일련번호, 유효기간 시작, 유효기간 만료, 서명 알고리즘, 키 알고리즘을 보여주며, 고유 식별을 위한 MD5, SHA-1, SHA-256 지문을 제공합니다. 만약 유효한 서명 블록을 찾을 수 없는 경우 "인식할 수 있는 서명 블록이 없습니다. 패키지에 서명이 없거나 재패키징되었을 수 있습니다."라는 경고가 표시됩니다. 단, 본 도구는 서명 메타데이터를 추출하여 보여줄 뿐, 인증서 체인의 신뢰성이나 실제 개발자의 신원을 보증하는 암호학적 검증을 수행하지는 않습니다.

또한, 파일 자체의 변조 여부를 대조할 수 있도록 APK 파일 전체에 대한 MD5, SHA-1, SHA-256 해시 값을 계산하여 파일 해시 섹션에 제공합니다.


자주 묻는 질문 (FAQ)

Q1. 설치하지 않고 APK에서 무엇을 알 수 있나요? 앱의 패키지 이름과 버전, 필요한 Android 버전, 요청하는 모든 권한, 화면 및 백그라운드 컴포넌트, 네이티브 코드가 지원하는 프로세서 타입, 서명된 인증서 등 많은 정보를 확인할 수 있습니다.

Q2. 이 도구로 APK가 악성코드인지 알 수 있나요? 아니요. 빠른 스캔만으로 악성 여부를 단정 짓는 도구는 주의해야 합니다. 이 도구는 권한, 컴포넌트, 서명자, 해시와 같은 객관적인 사실만 보여줍니다. 개발자가 공개한 내용과 비교해보고, 예상치 못한 권한이나 공식 배포판과 다른 서명자가 있다면 주의를 기울이세요.

Q3. 어떤 파일이 지원되나요? 최대 500 MB의 단일 APK 파일이 지원됩니다. 분할 패키지(XAPK, APKM) 및 Android App Bundle(.aab)은 단일 설치 패키지가 아닌 컨테이너 또는 배포 형식이므로, 혼란스러운 보고서 대신 명확한 안내 메시지와 함께 거부됩니다.

Q4. 서명 정보는 무엇을 알려주나요? 모든 Android 앱은 서명되어 있으며, 인증서는 배포자를 식별합니다. 패키지가 사용하는 서명 체계(v1, v2, v3)와 각 서명자의 주체, 유효 기간, MD5, SHA-1 및 SHA-256 지문을 확인할 수 있습니다. 지문이 일치하는 두 APK는 동일한 배포자에서 나온 것이지만, 그 배포자를 신뢰할지 여부는 사용자의 판단에 달려 있습니다.

Q5. 권한에 있는 “Dangerous” 배지는 무엇을 의미하나요? Android의 공식 분류입니다. 위험 권한은 위치, 연락처, 카메라, 마이크, 저장공간 등 개인 데이터에 접근할 수 있으므로 시스템이 사용자에게 허용 여부를 묻습니다. 이 배지가 악의적임을 의미하는 것은 아니며, 지도 앱이 위치를 요청하는 것은 정상입니다. 단지 한 번 더 주의 깊게 살펴봐야 할 권한을 표시하는 것입니다.