Pembaruan terbaru Google Maps tidak tersedia di negara saya, jadi saya mengunduh versi dengan googling untuk "Google Maps 5.4.0 apk". Saya memang menemukannya, tetapi sekarang saya bertanya-tanya bagaimana saya bisa tahu apakah ini sebenarnya versi yang sama seperti di pasar.
Bagaimana saya bisa yakin itu belum dirusak? Apakah aplikasi masuk dengan cara apa pun? Apakah ada cara untuk memeriksa tanda tangan?
m.google.com/maps
:, apakah ia menawarkan Anda tautan unduhan atau sejenisnya?Jawaban:
Mengesampingkan perdebatan tentang keabsahan memasang aplikasi itu di ponsel Anda, pertanyaan tentang verifikasi adalah sesuatu yang sudah lama ingin saya pahami, dan Anda telah mendorong saya untuk mencoba mencari cara yang mungkin untuk memverifikasi siapa yang menandatangani sebuah apk.
Aplikasi Android masuk dengan cara yang normal dari file .jar (.apk benar-benar hanya .jar khusus yang hanya .zip khusus) namun mungkin tidak sepele untuk melacak keaslian sertifikat kecuali jika Anda memiliki sesuatu yang diketahui bagus untuk dilakukan. dibandingkan dengan. Pada dasarnya itulah yang dilakukan oleh ponsel itu sendiri - memverifikasi bahwa sesuatu yang mengklaim berasal dari pihak yang sama dengan sesuatu yang sudah ada di telepon sebenarnya - ponsel tidak menolak untuk menginstal hal-hal dengan penanda yang tidak diketahui, hanya dapat (objek ke / menghapus aplikasi data) pemalsuan nyata ketika sesuatu yang baru tidak cocok dengan sesuatu yang lama yang diklaimnya.
Anda harus memiliki jarsigner dan keytool. Saya percaya ini berasal dari JDK yang merupakan prasyarat untuk SDK android daripada SDK itu sendiri.
Pertama, Anda ingin mencoba memverifikasi kunci publik yang terkandung dalam .apk. Biasanya ini ada di META-INF / CERTS.RSA tetapi bisa juga di file lain - unzip -l akan memberi tahu Anda. Anda ingin melihat apa yang bisa Anda ketahui tentang itu:
Itu akan membuang banyak informasi tentang siapa yang menandatangani penanda tangan itu. Beberapa sertifikat tampaknya sendiri ditandatangani oleh pihak-pihak yang diketahui, tetapi tanpa mencari tahu cara melacaknya, saya menduga Anda dapat melakukan sesuatu seperti ini:
Jika Anda memiliki apk tepercaya yang dikenal dari penulis yang sama yang menggunakan sertifikat yang sama. Saya berasumsi bahwa sertifikat yang memiliki jumlah MD5 yang sama sudah cukup.
Dengan anggapan Anda telah memutuskan untuk mempercayai sertifikat, maka Anda dapat melihat apakah sudah digunakan untuk menandatangani setiap file di dalam .apk
(Jika ada lebih dari satu file .RSA dalam arsip, Anda harus menambahkan flag -certs untuk memberi tahu Anda sertifikat mana yang telah digunakan untuk menandatangani setiap file, sehingga Anda dapat memastikan sertifikatnya yang Anda verifikasi)
sumber
Ada (sekarang)
apksigner
alat dalambuild-tools
melakukan apa yang Anda inginkan. Dari dokumen :sumber
Anda juga dapat mencoba mengunggah APK ke pemeriksa virus VirusTotal.com gratis . Ini akan menghasilkan hash unik untuk APK dan jika orang lain telah mengunggahnya untuk mengujinya (sangat mungkin) maka Anda akan memiliki lebih banyak gagasan bahwa APK itu valid.
Layanan ini juga akan memindai APK dengan lebih dari 60 pemindai virus dan memberi tahu Anda jika yakin ia memiliki tanda tangan yang mirip dengan virus yang sudah ditemukan.
sumber
Untuk membandingkan sertifikat dari file apk yang dicurigai, mungkin satu gagasan adalah mengunduh versi itu di Play Store resmi di ponsel Anda, melakukan pencadangan di komputer Anda dan masuk ke direktori pencadangan, pilih file apk yang bersangkutan dan lakukan pemeriksaan yang sama. Anda juga dapat melihat sertifikat Google dengan melakukan pemeriksaan pada aplikasi standar perangkat (seperti com.google.android. * Apk)
sumber
Cara yang benar untuk memverifikasi file APK adalah menggunakan
apksigner
.apksigner
adalah bagian dari alat build Android, oleh karena itu Anda mungkin menemukan beberapa versi terinstal, satu untuk setiap versi alat build terinstal.Salah satu contoh jalur dalam Android SDK
apksigner
adalah:Jalankan apksigner dengan cara ini:
Sekarang Anda telah memverifikasi APK, tetapi Anda masih tidak tahu apakah Anda dapat mempercayai orang / organisasi yang telah menandatangani file APK. Ini karena pada Android APK tanda tangan digunakan dengan definisi sertifikat yang ditandatangani sendiri. Karena itu, jika Anda dapat mempercayai sertifikat, itu adalah pertanyaan yang sulit. Satu-satunya cara adalah memeriksa aplikasi lain yang telah masuk menggunakan sertifikat yang sama.
Satu-satunya cara saya tahu untuk melakukannya adalah dengan menggunakan layanan perayapan PlayStore androidobservatory.org. Ini memiliki API untuk memeriksa aplikasi mana yang telah ditandatangani oleh sertifikat yang sama menggunakan sertifikat SHA-1 digest:
Sunting: apkmirror.com juga memungkinkan untuk mencari intisari sertifikat. Cukup masukkan intisari sertifikat SHA-1 atau SHA-256 (tanpa tanda titik atau spasi) di bidang pencarian:
Di halaman ini Anda dapat melihat semua file APK lainnya di Google Play Store yang ditandatangani dengan sertifikat yang sama.
sumber