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:
unzip -p suspect.apk META-INF/CERT.RSA | keytool -printcert
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:
unzip -p suspect.apk META-INF/CERT.RSA | keytool -printcert | grep MD5
unzip -p knowngood.apk META-INF/CERT.RSA | keytool -printcert | grep MD5
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
jarsigner -verbose -verify suspect.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)
m.google.com/maps
:, apakah ia menawarkan Anda tautan unduhan atau sejenisnya?