Memahami Struktur dan Anatomi File APK
Android Application Package (APK) adalah format berkas yang digunakan oleh sistem operasi Android untuk mendistribusikan dan menginstal aplikasi. Di dalam sebuah file APK terdapat seluruh kode biner aplikasi, sumber daya, aset, sertifikat, dan manifes yang diperlukan agar aplikasi dapat berjalan pada perangkat Android.
Saat Anda memeriksa file APK menggunakan Pelihat Info APK, alat ini akan mengurai struktur internal paket tersebut secara statis tanpa menginstalnya. Komponen utama yang dianalisis meliputi:
- AndroidManifest.xml: Berkas manifes yang mendefinisikan identitas aplikasi, komponen latar belakang, serta izin yang diminta.
- File kode (.dex): Berkas Dalvik Executable yang berisi kode kompilasi yang dijalankan oleh runtime Android.
- File sumber daya dan aset: Berkas non-kode seperti tata letak, gambar, dan konfigurasi yang mendukung antarmuka pengguna.
Pelihat Info APK dirancang khusus untuk membaca format .apk tunggal dengan batas ukuran hingga 500 MB. Alat ini tidak mendukung format kontainer atau penerbitan lainnya. Jika Anda memasukkan paket terpisah seperti XAPK atau APKM, alat akan menolak berkas tersebut dan menampilkan pesan kesalahan: "Ini adalah paket terpisah XAPK — wadah yang berisi beberapa APK. Ekstrak APK dasar dan periksa file tersebut sebagai gantinya.". Begitu pula jika Anda mengunggah Android App Bundle, alat akan menampilkan pesan: "Ini adalah Android App Bundle (.aab) — format penerbitan, bukan APK yang dapat diinstal. Periksa APK yang telah dibagun sebagai gantinya.".
Analisis Persyaratan SDK dan Kompatibilitas Android
Setiap aplikasi Android menentukan batasan sistem operasi tempat ia dapat berjalan. Informasi ini sangat penting untuk memastikan aplikasi kompatibel dengan perangkat target dan mematuhi aturan keamanan versi Android terbaru. Pelihat Info APK mengekstrak nilai-nilai ini pada bagian Persyaratan (Requirements):
- Android minimum (
lMinSdk): Menunjukkan versi API terendah yang diperlukan untuk menjalankan aplikasi. Ditampilkan dalam formatAndroid ‹version› (API ‹level›)atauAPI ‹level›. - Android target (
lTargetSdk): Menunjukkan tingkat API yang digunakan sebagai acuan pengembangan dan pengujian aplikasi. Versi ini menentukan bagaimana sistem menerapkan perilaku keamanan dan privasi pada aplikasi tersebut. - maks SDK
‹n›(lMaxSdk): Jika dideklarasikan, nilai ini membatasi aplikasi agar tidak berjalan pada versi Android yang lebih tinggi dari tingkat API yang ditentukan.
Pemeriksaan Izin dan Deteksi Lencana Berbahaya
Aplikasi Android harus mendeklarasikan izin yang mereka butuhkan untuk mengakses fitur sistem atau data pengguna. Pelihat Info APK mengekstrak daftar izin ini dan mengurutkannya secara khusus. Izin yang diklasifikasikan oleh Android memiliki akses ke data pribadi pengguna—seperti lokasi, kontak, kamera, mikrofon, atau penyimpanan—akan diprioritaskan di bagian atas daftar dan ditandai dengan lencana Berbahaya (lDangerous).
Mengidentifikasi izin berbahaya secara statis membantu Anda mengevaluasi apakah permintaan akses tersebut masuk akal dengan fungsi utama aplikasi. Sebagai contoh, aplikasi kalkulator yang meminta izin akses lokasi atau kontak patut dicurigai, sedangkan aplikasi peta yang meminta izin lokasi adalah hal yang wajar.
Pemetaan Komponen Aplikasi dan Batas Tampilan
Aplikasi Android dibangun dari empat jenis komponen utama yang dideklarasikan dalam manifes. Pelihat Info APK mengelompokkan komponen-komponen ini ke dalam kategori berikut pada bagian Komponen (Components):
- Activity (
groupActivities): Komponen yang merepresentasikan layar antarmuka pengguna. - Service (
groupServices): Komponen yang berjalan di latar belakang untuk melakukan operasi jangka panjang tanpa interaksi pengguna. - Receiver (
groupReceivers): Komponen yang menerima dan merespons siaran pesan dari sistem atau aplikasi lain. - Provider (
groupProviders): Komponen yang mengelola dan membagikan data aplikasi kepada aplikasi lain.
Setiap komponen yang dapat diakses oleh aplikasi lain di luar paketnya akan ditandai dengan label diekspor (lExported). Untuk menjaga kinerja browser tetap optimal, antarmuka alat ini membatasi tampilan hingga maksimal 100 entri per kategori komponen. Jika jumlah komponen melebihi batas tersebut, alat akan menampilkan label +‹count› lainnya (lMore).
Skema Tanda Tangan Digital dan Sidik Jari Sertifikat
Semua aplikasi Android wajib ditandatangani secara digital oleh pengembangnya sebelum dapat diinstal. Android menggunakan tanda tangan ini untuk memastikan integritas aplikasi dan memverifikasi bahwa pembaruan aplikasi di masa mendatang berasal dari pengembang yang sama.
Pelihat Info APK mengekstrak sertifikat X.509 dari blok tanda tangan v1 (PKCS#7) serta APK Signing Block (v2, v3, dan v3.1). Informasi yang ditampilkan pada bagian Tanda tangan (secSignatures) meliputi:
- Penandatangan
‹n›(lSigner) - Subjek (
lSubject) - Diterbitkan oleh (
lIssuer) - Nomor seri (
lSerial) - Berlaku dari (
lValidFrom) dan Berlaku sampai (lValidTo) - Algoritma tanda tangan (
lSigAlg) dan Algoritma kunci (lKeyAlg) - Sidik jari kriptografis: MD5, SHA-1, dan SHA-256.
Jika alat tidak menemukan tanda tangan yang valid, pesan berikut akan ditampilkan: "Blok tanda tangan yang dikenal tidak ditemukan — paket mungkin tidak ditandatangani atau telah dikemas ulang.". Perlu dicatat bahwa alat ini hanya mengekstrak dan menampilkan metadata sertifikat. Alat tidak melakukan verifikasi kriptografis terhadap integritas tanda tangan, tidak memvalidasi rantai kepercayaan sertifikat, dan tidak memverifikasi identitas dunia nyata dari penerbit tersebut.
Keamanan Pemrosesan Lokal di Dalam Browser
Pelihat Info APK beroperasi sepenuhnya di dalam browser web Anda menggunakan teknologi Worker lokal. Saat Anda meletakkan file APK ke area drop, seluruh proses pembacaan file, ekstraksi manifes, analisis komponen, hingga penghitungan hash file dilakukan secara lokal.
Tidak ada data atau file yang diunggah ke server eksternal, dan file APK tersebut tidak pernah diinstal atau dijalankan pada perangkat Anda. Hal ini menjamin privasi penuh bagi analis keamanan, pengembang, maupun administrator sistem yang sedang memeriksa paket aplikasi sensitif.
Panduan Penggunaan dan Pesan Status Antarmuka
Berikut adalah alur kerja penggunaan alat beserta indikator status yang akan Anda lihat pada antarmuka:
| Langkah / Kondisi | Pesan Status / Kesalahan pada Antarmuka |
|---|---|
| Kondisi Awal | Siap. Letakkan APK di sini untuk memeriksanya. |
| Membaca File | Membaca ‹name›… |
| Menghitung Hash | Menghitung hash file — ‹percent›% |
| Mengurai Paket | Mengurai paket… |
| Proses Selesai | Laporan siap. |
| Mengunduh Laporan | Laporan diunduh. |
| Membersihkan Tampilan | Dibersihkan. |
| File Terlalu Besar (>500 MB) | File ini berukuran lebih dari 500 MB — melebihi batas aman tab browser untuk memeriksanya. |
| Bukan File APK | Ini sepertinya bukan APK: tidak ditemukan AndroidManifest.xml yang dapat dibaca di dalamnya. |
| File Rusak | Paket tampak rusak atau terpotong, sehingga isinya tidak dapat dibaca. |
| Gagal Membaca File | File tidak dapat dibaca. Pilih kembali. |
| Kegagalan Umum | Pemeriksaan gagal. Coba file lain. |
| Mengunggah Banyak File | Satu file dalam satu waktu — memeriksa file pertama. |
Setelah laporan selesai dibuat, Anda dapat menggunakan tombol Unduh laporan untuk menyimpan hasil analisis atau tombol Hapus untuk membersihkan antarmuka sebelum memeriksa file baru.
Pertanyaan yang Sering Diajukan (FAQ)
Apa yang dapat saya pelajari dari sebuah APK tanpa menginstalnya? Cukup banyak: nama dan versi paket aplikasi, versi Android yang diperlukan, setiap izin yang diminta, layar dan komponen latar belakang yang dideklarasikan, jenis prosesor yang didukung oleh kode aslinya, serta sertifikat yang digunakan untuk menandatanganinya.
Dapatkah alat ini memberi tahu apakah sebuah APK adalah malware? Tidak — dan berhati-hatilah terhadap alat apa pun yang menjanjikan vonis dari pemindaian cepat. Yang Anda dapatkan di sini adalah faktanya: izin, komponen, penandatangan, dan hash. Bandingkan dengan apa yang diterbitkan oleh pengembang, dan anggap izin yang tidak terduga atau penandatangan yang berbeda dari rilis resmi sebagai alasan untuk meninggalkannya.
File apa saja yang didukung? File APK tunggal hingga 500 MB. Paket terpisah (XAPK, APKM) dan Android App Bundle (.aab) adalah wadah atau format penerbitan, bukan satu paket yang dapat diinstal, sehingga akan ditolak dengan pesan yang jelas alih-alih laporan yang membingungkan.
Apa isi informasi dari detail penandatanganan? Setiap aplikasi Android ditandatangani, dan sertifikat tersebut mengidentifikasi siapa yang menerbitkannya. Anda dapat melihat skema tanda tangan yang dibawa oleh paket (v1, v2, v3) beserta subjek, masa berlaku, dan sidik jari MD5, SHA-1, dan SHA-256 dari setiap penandatangan. Dua APK dengan sidik jari yang cocok berasal dari penerbit yang sama — masalah apakah Anda mempercayai penerbit tersebut tetap menjadi keputusan Anda.
Apa arti lencana “Berbahaya” pada sebuah izin? Itu adalah klasifikasi resmi dari Android: izin berbahaya dapat mengakses data pribadi — lokasi, kontak, kamera, mikrofon, penyimpanan — sehingga sistem akan meminta konfirmasi pengguna sebelum memberikannya. Lencana tersebut bukanlah sebuah tuduhan; aplikasi peta yang meminta izin lokasi adalah hal yang normal. Lencana ini hanya menandai izin yang perlu dibaca dua kali.