Entiendo que las aplicaciones están firmadas tanto por Google como por el desarrollador.
¿Cómo puedo detectar si un correo electrónico apk
es de Play Store o si está descargado?
Preferiría que el método funcionara en todas las plataformas principales solo si es posible, incluido el propio Android.
Incluso si se carga lateralmente, me gustaría saber la fuente de la aplicación. Como es de Play Store.
Estoy pensando en usar una aplicación o un método que utilice la detección de firmas.
No puede saber si el .apk
original vino de Playstore, pero puede saber si coincide con el disponible en Playstore. Esto es lo que necesitas:
.apk
en cuestión.apk
de la misma aplicación en la misma versión de PlaystoreDescomprima ambos .apk
(cada uno en su propio directorio) y compare sus certificados (almacenados en el META-INF/
directorio. Los detalles sobre una comparación completa, por ejemplo, se pueden encontrar aquí . El comando que necesitaría es:
openssl pkcs7 -inform DER -in META-INF/CERT.RSA -noout -print_certs -text
Alternativamente, si no tiene Openssl instalado pero Oracle JDK:
keytool -printcert -file META-INF/CERT.RSA
o
jarsigner -verify -certs -verbose ../Example.apk
Si los certificados coinciden, ambos archivos APK se firmaron con la misma clave. A menos que la clave del desarrollador se vea comprometida, eso debería significar que el APK potencialmente transferido debería estar bien (no hay garantías de que el propio desarrollador no haya jugado, pero si el tamaño y el MD5 del APK también coinciden, diría que es seguro).
izzy
adb dumpsys package
(lleva el nombre del paquete de la aplicación que lo instaló, que sería el de la tienda de juegos cuando se usó, o F-Droids, etc., o "fuente desconocida" cuando completamente cargado lateralmente.Criajo